A method for storing a data block, comprising compressing the data block
using a first compression algorithm to obtain a compressed data block,
generating a data block compression header, combining the compressed data
and the data compression header to obtain a compressed data block
package, storing the compressed data block package in a storage pool,
obtaining a compressed data block package location, calculating a data
block checksum for the compressed data block, and storing a first
indirect block in the storage pool, wherein the first indirect block
comprises the compressed data block package location, the data block
checksum, and a compression flag.