Patent ID: 8484433

Claim:
A computerized method comprising: determining, by a storage server, an alignment value to be used for a plurality of data blocks stored by the storage server that are identified by an indirect block, wherein the alignment value represents a difference between a start of a data block according to a first client and a start of the data block according to the storage server, wherein the plurality of data blocks are stored within a first portion of a volume of a storage system and wherein the storage server also stores data blocks for a second client within a second portion of the volume, and wherein the indirect block includes a plurality of locations of the plurality of data blocks; writing, by the storage server, the alignment value to a set of one or more bits within the indirect block; reading, by the storage server, all of the plurality of data blocks identified by the indirect block; writing, by the storage server, all of the plurality of data blocks identified by the indirect block to new locations based upon the alignment value; and responsive to receiving an input/output (I/O) request for one data block of the plurality of data blocks identified by the indirect block, reading the indirect block to identify a location of the one data block and the alignment value, applying the identified alignment value to the identified location of the one data block to create a realigned location of the one data block, and accessing the one data block using the realigned location of the one data block.