... 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