A method for storing a data block in a storage pool, including receiving a
write operation for the data block, writing the data block into the
storage pool, determining a first indirect block to store in the storage
pool, wherein the first indirect block references the data block, writing
the first indirect block to a first location in the storage pool,
creating a copy of the first indirect block, and writing the copy of
first indirect block to a second location in the storage pool.