A method for storing a data block, involving storing the data block in a
storage pool, obtaining a data block location, calculating a data block
checksum for the data block, and storing a first indirect block in the
storage pool, wherein the first indirect block comprises the data block
location and the data block checksum.