Patent ID: 7970770

Claim:
A method for performing write-allocation in a storage system, comprising: maintaining a plurality of virtual volumes (vvols) by the storage system; selecting a physical volume block number (pvbn) for a data block from a pvbn space of an aggregate, where the aggregate is a physical volume formed from one or more groups of storage devices coupled to the storage system and organized into a global storage space, the data block resident on one of the storage devices; selecting a virtual volume of the plurality of virtual volumes (vvol) having a selected virtual volume identification (vvid), and selecting a virtual volume block number (vvbn) for the data block from a vvbn space of the selected vvol to allocate the data block (the allocated data block) to the selected vvol; adjusting a first block allocation bitmap structure of the aggregate to record the selected pvbn; adjusting a second block allocation bitmap structure of the vvol to record the selected vvbn; inserting both the selected pvbn and the selected vvbn in a parent block as block pointers to point to the allocated data block on the storage device; and maintaining an existing data block after writing to the allocated block a change directed to data of the existing data block, the existing data block maintained to support a persistent consistent point image of the file system.