We should add dedup or block squashing or <insert clever name here>.
Its on people's wish list:
http://www.genunix.org/wiki/index.php/OpenSolaris_Storage_Developer_Wish_List
A comment from the Mike Gerdts:
Maintain a database of checksum to block mappings. If checksums match, do full contents comparison. If the blocks are the same store multiple references to the same block. This should work across all file systems in a pool. If a large number of home directories (each on their on FS) each have their own copy of the same data ("copy ~cs500/dataset.tar.gz ~, then untar it") one copy should be stored. Dedup could happen on the fly or as a background re-write that uses available CPU and spindle time.