If I understand correctly, then the parity block for RAID-Z are also
written in two different atomic operations. As per RAID-5. (the only
difference being each can be of a different stripe size).
HL> As with Raid-5 on a four disk stripe, there are four independant
HL> writes, and they don't need to be atomic, as Copy-on-Write implies
HL> that the new blocks are written elsewhere on disk, while maintaining
HL> the original data. Only after all four writes return and are flushed
HL> to disk can you proceed and update the metadata.
And to clear things - meta data are updated also in a spirit of COW -
so metadata are written to new locations and then uber block is
atomically updated pointing to new meta data
Well, to add to this, uber-blocks are also updated in COW fashion -
there is a circular array of 128 uber-blocks, and new uber-block is
written to the next to current slot.
victor
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss