Patent ID: 8700578

Claim:
A computer-implemented method for estimating storage usage of a storage system, comprising: maintaining a plurality of summary data structures corresponding to a plurality of logical file system namespaces representing a plurality of hierarchies of one or more directories having one or more files, each file being stored in the storage system as a plurality of segments in a deduplicated manner; in response to a request to estimate a storage usage by a first of the file system namespace, identifying a first of the summary data structures corresponding to the first file system namespace, wherein the first summary data structure stores information summarizing deduplicated segments referenced by one or more files of the first file system namespace; and estimating the storage usage of the first file system namespace based on the first summary data structure and a global summary data structure, wherein the global summary data structure stores information summarizing deduplicated segments referenced by all of the file system namespaces, wherein each of the summary data structures comprises a plurality of entries, each entry corresponding to one of the deduplicated segments stored in the storage system, wherein each entry stores information indicating a number of references to a corresponding deduplicated segment by a file of a corresponding file system namespace, wherein at least a first of the deduplicated segments is referenced by at least one file of the first file system namespace and at least one file of a second of the file system namespaces, wherein an entry of the first summary data structure corresponding to the first deduplicated segment stores a first value representing a number of references made by a file of the first file system namespace, wherein an entry of a second summary data structure corresponding to first deduplicated segment stores a second value representing a number of references made by a file of the second file system namespace, and wherein an entry of the global summary data structure corresponding to the first deduplicated segment summarizes the first value and the second value, and wherein estimating the storage usage of the first file system namespace comprises calculating a difference between each of the entries of the first summary data structure and a corresponding entry of the global summary data structure to determine deduplicated segments that are only referenced by files of the first file system namespace.