...

  But every block so rearranged
> (and every tree ancestor of each such block) would
> then leave an equal-sized residue in the most recent
> snapshot if one existed, which gets expensive fast in
> terms of snapshot space overhead (which then is
> proportional to the amount of reorganization
> performed as well as to the amount of actual data
> updating).

Actually, it's not *quite* as bad as that, since the common parent block of 
multiple children should appear only once in the snapshot, not once for each 
child moved.

Still, it does drive up snapshot overhead, and if you start trying to use 
snapshots to simulate 'continuous data protection' rather than more sparingly 
the problem becomes more significant (because each snapshot will catch any 
background defragmentation activity at a different point, such that common 
parent blocks may appear in more than one snapshot even if no child data has 
actually been updated).  Once you introduce CDP into the process (and it's 
tempting to, since the file system is in a better position to handle it 
efficiently than some add-on product), rethinking how one approaches snapshots 
(and COW in general) starts to make more sense.

- bill
 
 
This message posted from opensolaris.org
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to