> 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

Reply via email to