> I just want to be sure to understand good, here my understanding: (I
> hope I'm not totally wrong ;p)
>
> The slide demonstrate how an existing file is modified. The boxes in
> blue represents the existing data, and the green ones the new data. So
> when an application wants modified the existing datas, the existing
> blocks are copied (only if the modification is more little than the
> block size I guess ?)

The blocks aren't necessarily copied.  When a normal filesystem writes
data, it sends a block of data to the disk overwriting the old block.
It's immediately seen because the metadata is referencing that physical
location.

ZFS does the same bit with writing the block to disk, but instead of
overwriting the old location, it's written to a new location, and
metadata will be written (again in a new location) that refers to the
new data.

> to a new one, modifications are made on this new
> block. Once all changes are made, the superblock (uberblock ?)
> reference are updated, and since the data (the reference to the new
> block) are modified, the checksum is recalculate and write in the next
> block (the upper one).

The checksums and other metadata are written before the uberblock is
updated.  By having everything thing else ready and consistent, the
uberblock change makes it an atomic activation.  

> And about the next slide, I'm right, a snapshot is working exactly
> like that, except that the old data blocks are not freed..

Correct.  The blocks are freed when they're no longer in use, and a
snapshot counts as use.

-- 
Darren Dunham                                           [EMAIL PROTECTED]
Senior Technical Consultant         TAOS            http://www.taos.com/
Got some Dr Pepper?                           San Francisco, CA bay area
         < This line left intentionally blank to confuse you. >
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to