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.
Claims23
A method for managing consistency in a distributed file system, the method comprising:
- determining an inode is associated with an incomplete file system operation based on an update intent stored at the inode, wherein the inode is associated with a file system object in the distributed file system, wherein the update intent stored at the inode indicates that the inode is part of a file system operation that includes a plurality of inodes, wherein the update intent stored at the inode specifies an ordered sequence of a plurality of inodes associated with the incomplete file system operation and a position of the inode in the ordered sequence with respect to the plurality of inodes;
- retrieving, as available, a set of inodes specified by the ordered sequence;
- determining which inodes of the set of inodes store a corresponding update intent related to the incomplete file system operation;
- and
- selectively aborting the incomplete file system operation based on the determined inodes of the set of inodes that store the corresponding update intent related to the incomplete file system operation,
- wherein the incomplete file operation is aborted in the event one or more inodes of the set of inodes that are before the inode in the ordered sequence include the corresponding update intent related to the incomplete file system operation and one or more inodes of the set of inodes that are after the inode in the ordered sequence do not include the corresponding update intent related to the incomplete file system operation.
A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform an operation for managing consistency in a distributed file system, the operation comprising:
- determining an inode is associated with an incomplete file system operation based on an update intent stored at the inode, wherein the inode is associated with a file system object in the distributed file system, wherein the update intent stored at the inode indicates that the inode is part of a file system operation that includes a plurality of inodes, wherein the update intent stored at the inode specifies an ordered sequence of a plurality of inodes associated with the incomplete file system operation and a position of the inode in the ordered sequence with respect to the plurality of inodes;
- retrieving, as available, a set of inodes specified by the ordered sequence;
- and
- determining which inodes of the set of inodes store a corresponding update intent related to the incomplete file system operation;
- and
- selectively aborting the incomplete file system operation based the determined inodes of the set of inodes that store the corresponding update intent related to the incomplete file system operation,
- wherein the incomplete file operation is aborted in the event one or more inodes of the set of inodes that are before the inode in the ordered sequence include the corresponding update intent related to the incomplete file system operation and one or more inodes of the set of inodes that are after the inode in the ordered sequence do not include the corresponding update intent related to the incomplete file system operation.
A system comprising:
- a processor;
- and
- a memory storing program code, which, when executed on the processor performs an operation for managing consistency in a distributed file system, the operation comprising:
- determining an inode is associated with an incomplete file system operation based on an update intent stored at the inode, wherein the inode is associated with a file system object in the distributed file system, wherein the update intent stored at the inode indicates that the inode is part of a file system operation that includes a plurality of inodes and wherein the update intent stored at the inode specifies an ordered sequence of a plurality of inodes associated with the incomplete file system operation;
- retrieving, as available, a set of inodes specified by the ordered sequence;
- determining which inodes of the set of inodes store a corresponding update intent related to the incomplete file system operation;
- and
- selectively aborting the incomplete file system operation based on the determined inodes of the set of inodes that store the corresponding update intent related to the incomplete file system operation,
- wherein the incomplete file operation is aborted in the event one or more inodes of the set of inodes that are before the inode in the ordered sequence include the corresponding update intent related to the incomplete file system operation and one or more inodes of the set of inodes that are after the inode in the ordered sequence do not include the corresponding update intent related to the incomplete file system operation.
Dependencies are inferred from the claim text.