Legal claims defining the scope of protection, as filed with the USPTO.
2. The system of claim 1, wherein the determining further determines that the real inode is shared based on determining that the snapshot generation counter in the in-memory virtual inode cache dataset does not equal the in-memory virtual view snapshot generation counter.
3. The system of claim 1, wherein the sharing-related data comprises an intermediate shared value, wherein the intermediate shared value is indicative of whether sharing exists at a level of an intermediate indirect block, and wherein the determining further determines that the real inode is shared based on the intermediate shared value.
4. The system of claim 1, wherein the real inode is an original real inode, wherein the determining is performed on a data write to the filesystem object represented in the virtual view, wherein the determining determines that the real inode associated with the filesystem object is shared, and wherein the operations further comprise allocating a new real inode based on the original real inode, and associating the filesystem object with the new real inode.
5. The system of claim 4, wherein an intermediate shared value of the new real inode is initialized to a value indicating sharing does not exist at the level of an inode.
6. The system of claim 1, wherein the real inode is an original real inode, wherein the determining is performed on a metadata write to metadata of the filesystem object represented in the virtual view, wherein the determining determines that the real inode is shared, and wherein the operations further comprise allocating a new real inode based on the original real inode, and associating the shared filesystem object with the new real inode.
7. The system of claim 1, wherein the instantiating the in-memory virtual inode cache dataset is performed on a read of the filesystem object.
8. The system of claim 1, wherein the real inode comprises an original real inode, wherein determining that he that the original real inode is shared is further based on a data write to the at least one filesystem object, and wherein the operations further comprise, based on the original real inode being shared, allocating a new real inode based on the original real inode, and associating the at least one filesystem object with the new real inode.
10. The system of claim 9, wherein the current snapshot state is maintained in a snapshot generation counter data structure.
11. The system of claim 9, wherein the determining that sharing does not exist at the intermediate indirect block level comprises determining whether an intermediate shared value maintained in the in-memory virtual inode cache dataset indicates that sharing exists at the intermediate indirect block level.
12. The system of claim 9, wherein the evaluating the current snapshot state and the in-memory virtual inode cache dataset is performed in response to a data write operation to the filesystem object.
13. The system of claim 9, wherein the evaluating the current snapshot state and the in-memory virtual inode cache dataset is performed in response to a metadata write operation to metadata of the filesystem object.
14. The system of claim 9, wherein the in-memory virtual inode cache dataset is instantiated in response to a read of the filesystem object.
16. The non-transitory machine-readable medium of claim 15, wherein the real inode is an original real inode, wherein the determining is performed on a data write to the filesystem object, wherein the determining determines that the real inode associated with the filesystem object is shared, and wherein the operations further comprise allocating a new real inode based on the original real inode, and associating the filesystem object with the new real inode.
17. The non-transitory machine-readable medium of claim 15, wherein the real inode is an original real inode, wherein the determining is performed on a metadata write to metadata of the filesystem object, wherein the determining determines that the real inode associated with the filesystem object is shared, and wherein the operations further comprise allocating a new real inode based on an original real inode, and associating the filesystem object with the new real inode.
18. The non-transitory machine-readable medium of claim 15, wherein the evaluating the sharing-related data is performed in response to the in-memory virtual view snapshot generation counter being determined to be equal to the snapshot generation counter of the in-memory virtual inode cache dataset.
19. The non-transitory machine-readable medium of claim 18, wherein the determining based on the sharing-related data whether sharing is at the inode level is performed in response to the sharing-related data indicating that sharing does not exist at the intermediate indirect block level.
20. The non-transitory machine-readable medium of claim 15, wherein the real inode comprises an original real inode, wherein determining that he that the original real inode is shared is further based on a data write to the at least one filesystem object, and wherein the operations further comprise, based on the original real inode being shared, allocating a new real inode based on the original real inode, and associating the at least one filesystem object with the new real inode.
Unknown
March 19, 2024
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.