Concurrent access and transactions in a distributed file system
AssigneeCohesity, Inc.
InventorsMohit Aron, Ganesha Shanmuganathan
Life of this patent
Estimating the term…
Abstract
Embodiments described herein provide techniques for maintaining consistency in a distributed system (e.g., a distributed secondary storage system). According to one embodiment of the present disclosure, a first set of file system objects included in performing the requested file system operation is identified in response to a request to perform a file system operation. An update intent corresponding to the requested file system operation is inserted into an inode associated with each identified file system object. Each file system object corresponding to the inode is modified as specified by the update intent in that inode. After modifying the file system object corresponding to the inode, the update intent is removed from that inode.
Claims18
A method, comprising:
- obtaining locks for a plurality of file system objects associated with a file system transaction, wherein the plurality of file system objects correspond to inodes;
- storing a corresponding update intent in each of the file system objects associated with the file system transaction, wherein the corresponding update intent is stored in the inodes corresponding to the file system objects associated with the file system transaction, wherein the corresponding update intent indicates an order in which a plurality of file system objects associated with the file system transaction are to be modified;
- and
- modifying the plurality of file system objects associated with the file system transactions based on the order;
- removing the corresponding update intent from a file system object of the plurality of file system objects after the file system object is modified;
- and
- releasing the locks for the plurality of file system objects associated with the file system transaction.
A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
- obtaining locks for a plurality of file system objects associated with a file system transaction, wherein the plurality of file system objects correspond to inodes;
- storing a corresponding update intent in each of the file system objects associated with the file system transaction, wherein the corresponding update intent is stored in the inodes corresponding to the file system objects associated with the file system transaction, wherein the corresponding update intent indicates an order in which a plurality of file system objects associated with the file system transaction are to be modified;
- and
- modifying the plurality of file system objects associated with the file system transactions based on the order;
- removing the corresponding update intent from a file system object of the plurality of file system objects after the file system object is modified;
- and
- releasing the locks for the plurality of file system objects associated with the file system transaction.
A system comprising:
- a processor;
- and
- a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:
- obtain locks for a plurality of file system objects associated with a file system transaction, wherein the plurality of file system objects correspond to inodes;
- store a corresponding update intent in each of the file system objects associated with the file system transaction, wherein the corresponding update intent is stored in the inodes corresponding to the file system objects associated with the file system transaction, wherein the corresponding update intent indicates an order in which a plurality of file system objects associated with the file system transaction are to be modified;
- modify the plurality of file system objects associated with the file system transactions based on the order;
- remove the corresponding update intent from a file system object of the plurality of file system objects after the file system object is modified;
- and
- release the locks for the plurality of file system objects associated with the file system transaction.
Dependencies are inferred from the claim text.