Providing file system quota support for a file system having separated data and metadata
First Claim
1. A method for performing quota management in a distributed file system comprising:
- receiving, using a processor, an allocation quota specifying an upper limit of storage available for allocation for a quota set of the distributed file system, wherein the distributed file system includes a first set of one or more metadata file systems storing metadata about files in the distributed file system and a second set of data file systems storing file content data for files of the distributed file system, wherein for at least some files in the distributed file system, metadata for each of the at least some files is stored in at least one of the metadata file systems of the first set and content data for each of the at least some files is stored in at least one of the data file systems of the second set;
partitioning, by a coordinator and using a processor, the allocation quota among the data file systems of the second set, wherein each of the data file systems of the second set is an allocator of storage, wherein each of the data file systems of the second set receives a portion of the allocation quota specifying an upper limit of storage that said each data file system has available for allocation for the quota set, wherein the portion of the allocation quota assigned to at least a first of the data file systems includes an amount of reserved storage provisionally granted to the first data file system for servicing storage requests for the quota set;
allocating, using a processor, storage for client requests, wherein said allocating is performed by each of the data file systems of the second set in accordance with the portion of the allocation quota assigned to said each data file system;
receiving, by the coordinator from a second of the data file systems of the second set and using a processor, a storage reservation request for reserved storage provisionally granted to the second data file system for use in servicing storage requests for the quota set;
determining, by the coordinator and using a processor, that there is an insufficient amount of free space of the allocation quota for the quota set to grant the storage reservation request; and
responsive to said determining that there is an insufficient amount of free space, performing, by the coordinator and using a processor, first processing to recall at least some reserved storage which has been provisionally granted to one or more of the data file systems and which has not yet been allocated.
9 Assignments
0 Petitions
Accused Products
Abstract
Described are techniques for performing quota management in a distributed file system. An allocation quota specifies an upper limit of storage for allocation for a quota set of the distributed file system. The distributed file system includes metadata file system(s) and data file system(s). For files in the distributed file system, metadata is stored in one of the metadata file systems and file content data is stored in the data file systems. A quota coordinator partitions the allocation quota among the data file systems. The data file systems are allocators of storage and each receives a portion of the allocation quota specifying an upper limit of storage that the data file system has available for allocation for the quota set. Storage is allocated for client requests. The storage allocation is performed by each of the data file systems in accordance with the portion of the allocation quota assigned.
26 Citations
20 Claims
-
1. A method for performing quota management in a distributed file system comprising:
-
receiving, using a processor, an allocation quota specifying an upper limit of storage available for allocation for a quota set of the distributed file system, wherein the distributed file system includes a first set of one or more metadata file systems storing metadata about files in the distributed file system and a second set of data file systems storing file content data for files of the distributed file system, wherein for at least some files in the distributed file system, metadata for each of the at least some files is stored in at least one of the metadata file systems of the first set and content data for each of the at least some files is stored in at least one of the data file systems of the second set; partitioning, by a coordinator and using a processor, the allocation quota among the data file systems of the second set, wherein each of the data file systems of the second set is an allocator of storage, wherein each of the data file systems of the second set receives a portion of the allocation quota specifying an upper limit of storage that said each data file system has available for allocation for the quota set, wherein the portion of the allocation quota assigned to at least a first of the data file systems includes an amount of reserved storage provisionally granted to the first data file system for servicing storage requests for the quota set; allocating, using a processor, storage for client requests, wherein said allocating is performed by each of the data file systems of the second set in accordance with the portion of the allocation quota assigned to said each data file system; receiving, by the coordinator from a second of the data file systems of the second set and using a processor, a storage reservation request for reserved storage provisionally granted to the second data file system for use in servicing storage requests for the quota set; determining, by the coordinator and using a processor, that there is an insufficient amount of free space of the allocation quota for the quota set to grant the storage reservation request; and responsive to said determining that there is an insufficient amount of free space, performing, by the coordinator and using a processor, first processing to recall at least some reserved storage which has been provisionally granted to one or more of the data file systems and which has not yet been allocated. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer readable storage medium comprising code stored thereon for performing quota management in a distributed file system, the computer readable storage medium comprising code, that when executed by a processor, performs a method comprising:
-
receiving an allocation quota specifying an upper limit of storage available for allocation for a quota set of the distributed file system, wherein the distributed file system includes a first set of one or more metadata file systems storing metadata about files in the distributed file system and a second set of data file systems storing file content data for files of the distributed file system, wherein for at least some files in the distributed file system, metadata for each of the at least some files is stored in at least one of the metadata file systems of the first set and content data for each of the at least some files is stored in at least one of the data file systems of the second set; partitioning, by a coordinator, the allocation quota among the data file systems of the second set, wherein each of the data file systems of the second set is an allocator of storage, wherein each of the data file systems of the second set receives a portion of the allocation quota specifying an upper limit of storage that said each data file system has available for allocation for the quota set, wherein the portion of the allocation quota assigned to at least a first of the data file systems includes an amount of reserved storage provisionally granted to the first data file system for servicing storage requests for the quota set; allocating storage for client requests, wherein said allocating is performed by each of the data file systems of the second set in accordance with the portion of the allocation quota assigned to said each data file system; receiving, by the coordinator from a second of the data file systems of the second set, a storage reservation request for reserved storage provisionally granted to the second data file system for use in servicing storage requests for the quota set; determining, by the coordinator, that there is an insufficient amount of free space of the allocation quota for the quota set to grant the storage reservation request; and responsive to said determining that there is an insufficient amount of free space, performing, by the coordinator and using a processor, first processing to recall at least some reserved storage which has been provisionally granted to one or more of the data file systems and which has not yet been allocated. - View Dependent Claims (19)
-
-
20. A system comprising:
-
a first server system including a first memory, wherein code for a metadata file system storing metadata about files in a distributed file system is stored in the first memory; a set of one or more server systems each including a second memory, wherein code for each of a plurality of data file systems is included in the second memory of one of the server systems in the set, said plurality of data file systems storing file content data for files of the distributed file system; and wherein code for the metadata file system as stored in the first memory further comprises code that, when executed by a processor, performs a method comprising; receiving an allocation quota specifying an upper limit of storage available for allocation for a quota set of the distributed file system; partitioning the allocation quota among the plurality of data file systems, wherein each of the plurality of data file systems is an allocator of storage that receives a portion of the allocation quota specifying an upper limit of storage that said each data file system has available for allocation for the quota set, wherein the portion of the allocation quota assigned to at least a first of the plurality of data file systems includes an amount of reserved storage provisionally granted to the first data file system for servicing storage requests for the quota set; and wherein code for each of the plurality of data file systems stored in the second memory of one of the server systems in the set further comprises code that, when executed by a processor, performs a method comprising; allocating storage for client requests, wherein said allocating is performed by said each data file system in accordance with the portion of the allocation quota assigned to said each data file system; and wherein code for the metadata file system as stored in the first memory further comprises code that, when executed by a processor, performs a method comprising; receiving, from a second of the plurality of data file systems, a storage reservation request for reserved storage provisionally granted to the second data file system for use in servicing storage requests for the quota set; determining that there is an insufficient amount of free space of the allocation quota for the quota set to grant the storage reservation request; and responsive to said determining that there is an insufficient amount of free space, performing first processing to recall at least some reserved storage which has been provisionally granted to one or more of the plurality of data file systems and which has not yet been allocated.
-
Specification