Patent ID: 7734888

Claim:
An apparatus comprising: a file system to maintain a structure of data stored in an array of physical storage devices and to service read and write requests from one or more clients relating to data stored in the array of physical storage devices; a plurality of virtual volumes sharing a logical aggregation of physical storage from the array of storage devices, wherein each virtual volume is a logical data container; an abstraction layer between the one or more virtual volumes and the array of physical storage devices providing the logical aggregation of physical storage, so that each said virtual volume has only an indirect relationship to the physical storage devices, wherein the abstraction layer enables unused storage space from the logical aggregation of physical storage to be allocated to any virtual volume of the plurality of virtual volumes on an as-needed basis, and wherein storage space from the logical aggregation of physical storage can be allocated to any virtual volume of the plurality of virtual volumes without requiring reservation of the allocated storage space on the set of physical storage; and a processor to implement a capacity guarantee module, to provide a first capacity guarantee for a first virtual volume of the plurality of virtual volumes and to provide a second capacity guarantee for an individual file within one of the plurality of virtual volumes independently of providing the first capacity guarantee, and further to provide a partial volume guarantee for a second virtual volume of the plurality of virtual volumes to provide sufficient space for the second virtual volume to be filled to a specified fraction of its capacity, wherein the specified fraction is less than the entire second virtual volume.