Bill Moloney wrote:
Thanks for the input Darren, but I'm still confused about DNODE
atomicity ... it's difficult to imagine that a change that is made
anyplace in the zpool would require copy operations all the way back
up to the uberblock

This is in fact what happens. However, these changes are all batched up (into a transaction group, or "txg"), so the overhead is minimal.

> the DNODE
implementation appears to include its own checksum field
(self-checksumming),

That is not the case. Only the uberblock and intent log blocks are self-checksumming.

> if this is not the case, than 'any'
modification in the zpool would require copying up to the uberblock

That's correct, any modifications require modifying the uberblock (with the exception of intent log writes).

FYI, dnodes are not involved with the snapshot mechanism. Snapshotting happens at the dsl dataset layer, while dnodes are implemented above that in the dmu layer. Check out dsl_dataset.[ch].

--matt
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to