A method for storing a first data block, including evaluating the first
data block comprising a first plurality of data, if the first plurality
of data includes only zeros storing a first block pointer indicating that
the first data block includes only zeros in a first indirect block, and
if the first plurality of data does not include only zeros storing the
first calculating a first data block checksum for the first data block,
and storing the first block pointer comprising the first data block
location and the first data block checksum in the first indirect block.