Patent ID: 11934347
Assignee: EMC IP HOLDING COMPANY LLC
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 8:
9. A system, comprising:
a processor; and
a memory that stores executable instructions that, when executed by the processor, cause the system to perform operations, the operations comprising:
maintaining in-memory data that indicates a current snapshot state of a virtual view, the current snapshot state being modified to respective updated snapshot states as respective snapshots are performed on the virtual view, wherein a virtual inode is associated with at least one filesystem object represented in the virtual view;
evaluating the current snapshot state and an in-memory virtual inode cache dataset for the filesystem object represented in the virtual view, the in-memory virtual inode cache dataset having been initialized with a current value of a dataset snapshot state of the in-memory virtual inode cache dataset when instantiated;
in response to the evaluating determining that the current snapshot state does not equal the dataset snapshot state, determining that a real inode associated with the filesystem object is a shared real inode, wherein the shared real inode is shared among a group of virtual views;
in response to determining that the real inode associated with the filesystem object is the shared real inode and receiving a write operation, splitting the shared real inode,
wherein the virtual view is configured to allow access to select objects of the filesystem, and
wherein a virtual inode maps to the real inode according to a table associated with the virtual view;
maintaining an in-memory inode total weight corresponding to the real inode associated with the filesystem object,
in response to determining that sharing does not exist at an intermediate indirect block level, determining whether a leaf node value maintained in the in-memory virtual inode cache dataset indicates that sharing exists at an inode level,
in response to determining that the leaf node value indicates that sharing exists at the inode level, determining whether an inode mapping pointer weight maintained in the in-memory virtual inode cache dataset equals the in-memory inode total weight, and
in response to determining that the inode mapping pointer weight does not equal the in-memory inode total weight, determining that the real inode associated with the filesystem object is shared.