Concurrent access and transactions in a distributed file system

US9870368B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9870368-B2
Application numberUS-201414525018-A
CountryUS
Kind codeB2
Filing dateOct 27, 2014
Priority dateOct 27, 2014
Publication dateJan 16, 2018
Grant dateJan 16, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. 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. 2. The method of claim 1 , wherein: aborting the incomplete file system operation includes removing the corresponding update intent related to the incomplete file system operation from each inode specified by the ordered sequence that includes the corresponding update intent. 3. The method of claim 1 , further comprising selectively completing the incomplete file system operation based on the determined nodes that store the corresponding update intent related to the incomplete file system operation, wherein the incomplete file system is completed in the event one or more inodes of the set of inodes that are before the inode in the ordered sequence do not 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 include the corresponding update intent related to the incomplete file system operation. 4. The method of claim 3 , further comprising, removing the corresponding update intent from each of the one or more inodes of that set of inodes that are after the inode in the ordered sequence. 5. The method of claim 1 , wherein the distributed file system is exposed to clients as an NFS mount point, and wherein the incomplete file system operation is an NFS operation from a client sent to a node of the distributed file system. 6. The method of claim 1 , further comprising, prior to aborting the incomplete file system operation, obtaining a node-specific lock and a process-specific lock on each of the set of inodes. 7. The method of claim 6 , wherein the node-specific lock prevents other nodes in the distributed file system from accessing the locked inodes during the file system operation, and wherein the process-specific lock prevents other local processes from accessing the inodes. 8. The method of claim 3 , wherein completing the incomplete file system operation includes completing the incomplete file system operation as specified by the update intent and the corresponding update intent of the set of inodes that are after the inode in the ordered sequence. 9. 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. 10. The computer-readable medium of claim 9 , wherein aborting the incomplete file system operation includes removing the corresponding update intent related to the incomplete file system operation from each inode specified by the ordered sequence that includes the corresponding update intent. 11. The computer-readable medium of claim 9 , further comprising selectively completing the incomplete file system operation based on the determined nodes that store the corresponding update intent related to the incomplete file system operation, wherein the incomplete file system is completed in the event one or more inodes of the set of inodes that are before the inode in the ordered sequence do not 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 include the corresponding update intent related to the incomplete file system operation. 12. The computer-readable medium of claim 11 , wherein the operation further comprises, removing the corresponding update intent from each of the one or more inodes of the set of inodes that are after the inode in the ordered sequence. 13. The computer-readable medium of claim 9 , wherein the distributed file system is exposed to clients as an NFS mount point, and wherein the incomplete file system operation is an NFS operation from a client sent to a node of the distributed file system. 14. The computer-readable medium of claim 9 , wherein the operation further comprises, prior to aborting the incomplete file system operation, obtaining a node-specific lock and a process-specific lock on each of the set of inodes. 15. The computer-readable medium of claim 11 , wherein completing the incomplete file system operation includes completing the incomplete file system operation as specified by the update intent and the corresponding update intent of one or more inodes of the set of inodes that are after the inode in the ordered sequence. 16. 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

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • Physics · mapped topic

  • Graphs; Linked lists (G06F16/9027 takes precedence) · CPC title

  • Concurrency control, e.g. optimistic or pessimistic approaches · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9870368B2 cover?
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 correspo…
Who is the assignee on this patent?
Cohesity Inc
What technology area does this patent fall under?
Primary CPC classification G06F17/30168. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 16 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).