Accessing snapshots of a time based file system
First Claim
1. A method comprising:
- receiving, by a file system driver stored in a computational device, a request to provide access to a snapshot of a file system at a selected point in time;
receiving a request to perform operations on the snapshot, wherein the request uses a file system interface; and
interpreting the request and providing access to the snapshot via a virtual subdirectory, wherein at least a pointer from the virtual subdirectory to the snapshot is used to access the snapshot, wherein the file system interface to access the snapshot is also used for accessing other files that are not stored by the file system, wherein no modifications are made within the file system driver to existing file system interfaces that are used by an operating system, wherein the existing file system interfaces are also used to access other file systems in addition to being used to access the file system, and wherein the method further comprises;
generating a virtual subdirectory name corresponding to a token, wherein the token corresponds to the selected point in time;
creating the virtual subdirectory with the generated virtual subdirectory name, wherein the virtual subdirectory is a subdirectory of a root directory;
determining whether the virtual subdirectory name has a special prefix; and
in response to determining that the virtual subdirectory name has the special prefix, performing via a file system driver;
parsing a corresponding token value; and
executing an internal mount code to create structures in a mount control block, in response to parsing the corresponding token value, wherein the corresponding token value is added to the structures in a mount control block, and wherein the virtual subdirectory name is saved in the structures in the mount control block.
0 Assignments
0 Petitions
Accused Products
Abstract
A file system driver stored in a computational device receives a request to provide access to a snapshot of a rewritable file system at a selected point in time, wherein a plurality of tokens corresponding to a plurality of data units are stored in the rewritable file system, and wherein an ordering relationship is maintained among the plurality of tokens. The file system driver determines a token corresponding to the selected point in time based on the ordering relationship. A virtual subdirectory name is generated corresponding to the determined token. A virtual subdirectory is created with the generated virtual subdirectory name, wherein the virtual subdirectory is a subdirectory of a root directory. The snapshot is accessed via the subdirectory.
21 Citations
15 Claims
-
1. A method comprising:
-
receiving, by a file system driver stored in a computational device, a request to provide access to a snapshot of a file system at a selected point in time; receiving a request to perform operations on the snapshot, wherein the request uses a file system interface; and interpreting the request and providing access to the snapshot via a virtual subdirectory, wherein at least a pointer from the virtual subdirectory to the snapshot is used to access the snapshot, wherein the file system interface to access the snapshot is also used for accessing other files that are not stored by the file system, wherein no modifications are made within the file system driver to existing file system interfaces that are used by an operating system, wherein the existing file system interfaces are also used to access other file systems in addition to being used to access the file system, and wherein the method further comprises; generating a virtual subdirectory name corresponding to a token, wherein the token corresponds to the selected point in time; creating the virtual subdirectory with the generated virtual subdirectory name, wherein the virtual subdirectory is a subdirectory of a root directory; determining whether the virtual subdirectory name has a special prefix; and in response to determining that the virtual subdirectory name has the special prefix, performing via a file system driver; parsing a corresponding token value; and executing an internal mount code to create structures in a mount control block, in response to parsing the corresponding token value, wherein the corresponding token value is added to the structures in a mount control block, and wherein the virtual subdirectory name is saved in the structures in the mount control block. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system, comprising:
-
a memory; a processor coupled to the memory, wherein the processor performs operations, the operations comprising; receiving, by a file system driver, a request to provide access to a snapshot of a file system at a selected point in time; receiving a request to perform operations on the snapshot, wherein the request uses a file system interface; and interpreting the request and providing access to the snapshot via a virtual subdirectory, wherein at least a pointer from the virtual subdirectory to the snapshot is used to access the snapshot, wherein the file system interface to access the snapshot is also used for accessing other files that are not stored by the file system, wherein no modifications are made within the file system driver to existing file system interfaces that are used by an operating system, wherein the existing file system interfaces are also used to access other file systems in addition to being used to access the file system, and wherein the operations further comprise; generating a virtual subdirectory name corresponding to a token, wherein the token corresponds to the selected point in time; creating the virtual subdirectory with the generated virtual subdirectory name, wherein the virtual subdirectory is a subdirectory of a root directory; determining whether the virtual subdirectory name has a special prefix; and in response to determining that the virtual subdirectory name has the special prefix, performing via a file system driver; parsing a corresponding token value; and executing an internal mount code to create structures in a mount control block, in response to parsing the corresponding token value, wherein the corresponding token value is added to the structures in a mount control block, and wherein the virtual subdirectory name is saved in the structures in the mount control block. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A non-transitory computer readable storage medium, wherein code stored in the computer readable storage medium when executed by a computational device causes operations, the operations comprising:
-
receiving, by a file system driver stored in a computational device, a request to provide access to a snapshot of a file system at a selected point in time; receiving a request to perform operations on the snapshot, wherein the request uses a file system interface; and interpreting the request and providing access to the snapshot via a virtual subdirectory, wherein at least a pointer from the virtual subdirectory to the snapshot is used to access the snapshot, wherein the file system interface to access the snapshot is also used for accessing other files that are not stored by the file system, wherein no modifications are made within the file system driver to existing file system interfaces that are used by an operating system, wherein the existing file system interfaces are also used to access other file systems in addition to being used to access the file system, and wherein the operations further comprise; generating a virtual subdirectory name corresponding to a token, wherein the token corresponds to the selected point in time; creating the virtual subdirectory with the generated virtual subdirectory name, wherein the virtual subdirectory is a subdirectory of a root directory; determining whether the virtual subdirectory name has a special prefix; and in response to determining that the virtual subdirectory name has the special prefix, performing via a file system driver; parsing a corresponding token value; and executing an internal mount code to create structures in a mount control block, in response to parsing the corresponding token value, wherein the corresponding token value is added to the structures in a mount control block, and wherein the virtual subdirectory name is saved in the structures in the mount control block. - View Dependent Claims (12, 13, 14, 15)
-
Specification