> Therefore, I wonder if something like block unification (which seems to be > an old idea, though I know of it primarily through Venti[1]) would be useful > to ZFS. Since ZFS checksums all of the data passing through it, it seems > natural to hook those checksums and have a hash table from checksum to block > pointer. It would seem that one could write a shim vdev which used the ZAP > and a "host" vdev to store this hash table and could inform the higher > layers that, when writing a block, that they should simply alias an earlier > block (and increment its reference count -- already there for snapshots -- > appropriately; naturally if the block's reference count becomes zero, its > checksum should be deleted from the hash). >
De duplication has been discussed many times, but it is not trivial to implement. There are no reference counts for blocks.Blocks have a time stamp that is compared to the creation time of snapshots to work out if it can be freed when you destroy a snapshot. _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss