Managing storage quotas in a shared storage system
AssigneeQumulo, Inc.
InventorsPhilip Taron, Patrick Jakubowski, Remi Bernotavicius
Life of this patent
Estimating the term…
Abstract
A facility for managing filesystem object storage quotas (i.e., size limits) in a storage environment is disclosed. The facility enables users to establish, modify, and remove quotas on directories and files within a filesystem. Each quota acts as a soft limit on the size of the associated filesystem object, including any child objects of the filesystem object. The facility improves the speed at which the system can test for and identify violations of quotas established for individual filesystem objects by using aggregation and reconciliation techniques rather than constantly traversing a filesystem in its entirety to test for violations of quotas.
Claims18
A method for managing a file system in a shared storage system over a network, wherein instructions stored in a memory are executed by one or more processors to perform actions, comprising:
- instantiating a file system epoch counter associated with a plurality of file system objects;
- and
- instantiating a file system facility to perform actions, comprising:
- employing one or more of a plurality of storage devices of the shared storage system to provide access to the plurality of file system objects that are associated with one or more directories or files in the file system;
- and
- in response to receiving a request to modify a first file system object, performing actions, including:
- determining when one or more file system objects are current with a quota by employing the system epoch counter to compare a current epoch value to an epoch value previously associated with the first file system object, wherein the comparison reduces latency and computational resources that are employed to determine when one or more file system objects are current with the quota;
- and identifying, without having to traverse the entire file system, one or more file system objects that are non-current with the quota;
- when the comparison is equal, allowing an increase or a decrease in a size of the first file system object;
- when the comparison is unequal and one of the first file system object or one or more parent objects of the first file system object are enforcing the quota, disallowing the modification to the size of the first file object;
- and
- when the comparison is unequal and the one of the first file system object or the one or more parent objects of the first file system object are unenforcing the quota, allowing the modification in the size of the first file object.
A computer readable non-transitory storage media that stores instructions for managing a file system in a shared storage system over a network, wherein execution of the instructions by one or more processors performs actions, comprising:
- instantiating a file system epoch counter associated with a plurality of file system objects;
- and
- instantiating a file system facility to perform actions, comprising:
- employing one or more of a plurality of storage devices of the shared storage system to provide access to the plurality of file system objects that are associated with one or more directories or files in the file system;
- and
- in response to receiving a request to modify a first file system object, performing actions, including:
- determining when one or more file system objects are current with a quota by employing the system epoch counter to compare a current epoch value to an epoch value previously associated with the first file system object, wherein the comparison reduces latency and computational resources that are employed to determine when one or more file system objects are current with the quota;
- and identifying, without having to traverse the entire file system, one or more file system objects that are non-current with the quota;
- when the comparison is equal, allowing an increase or a decrease in a size of the first file system object;
- when the comparison is unequal and one of the first file system object or one or more parent objects of the first file system object are enforcing the quota, disallowing the modification to the size of the first file object;
- and
- when the comparison is unequal and the one of the first file system object or the one or more parent objects of the first file system object are unenforcing the quota, allowing the modification in the size of the first file object.
A system for managing a fife system in a shared storage system over a network, comprising:
- a transceiver for communicating over the network;
- a memory for storing instructions;
- and
- one or more processors that execute the instructions to perform actions, comprising:
- instantiating a file system epoch counter associated with a plurality of file system objects;
- and
- instantiating a file system facility to perform actions, comprising:
- employing one or more of a plurality of storage devices of the shared storage system to provide access to the plurality of file system objects that are associated with one or more directories or files in the file system;
- and
- in response to receiving a request to modify a first file system object, performing actions, including:
- determining when one or more file system objects are current with a quota by employing the system epoch counter to compare a current epoch value to an epoch value previously associated with the first file system object, wherein the comparison reduces latency and computational resources that are employed to determine when one or more file system objects are current with the quota;
- and identifying, without having to traverse the entire file system, one or more file system objects that are non-current with the quota;
- when the comparison is equal, allowing an increase or a decrease in a size of the first file system object;
- when the comparison is unequal and one of the first file system object or one or more parent objects of the first file system object are enforcing the quota, disallowing the modification to the size of the first file object;
- and
- when the comparison is unequal and the one of the first file system object or the one or more parent objects of the first file system object are unenforcing the quota, allowing the modification in the size of the first file object.
Dependencies are inferred from the claim text.