×

Accessing snapshots of a time based file system

  • US 8,392,481 B2
  • Filed: 04/22/2009
  • Issued: 03/05/2013
  • Est. Priority Date: 04/22/2009
  • Status: Expired due to Fees
First Claim
Patent Images

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 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, wherein an ordering relationship is maintained among the plurality of tokens, wherein the ordering relationship is such that a first token corresponding to a first data unit is of a lesser numerical value in comparison to a second token corresponding to a second data unit, and wherein the first data unit is written at an earlier point in time in comparison to the second data unit, wherein the plurality of tokens are stored by;

    writing, in a first set of data structures, timestamps in association with the plurality of data units, wherein a timestamp indicates a chronological time at which a data unit is written; and

    generating, and writing in a second set of data structures, the plurality of tokens with numerical values in a monotonically increasing order as the plurality of data units are written into the rewritable file system;

    determining a token corresponding to the selected point in time based on the ordering relationship;

    generating a virtual subdirectory name corresponding to the determined token;

    creating a virtual subdirectory with the generated virtual subdirectory name, wherein the virtual subdirectory is a subdirectory of a root directory;

    receiving a request to perform operations on the snapshot, wherein the request uses a file system interface to access the snapshot, wherein the file system interface is also used for accessing other files that are not stored by the rewritable file system, wherein no modifications are made within the file system driver to existing file system interfaces that are used by an operating system, and wherein the existing file system interfaces are also used to access other file systems in addition to being used to access the rewritable file system;

    interpreting the request and providing access to the snapshot via the virtual subdirectory, wherein at least a pointer from the virtual subdirectory to the snapshot stored in the rewritable file system is used to access the snapshot; and

    accessing, the snapshot, via the virtual subdirectory, wherein the virtual subdirectory name has a special prefix, wherein if the virtual subdirectory name has the special prefix the file system driver parses out a corresponding token value and executes an internal mount code to create structures in a mount control block, wherein the corresponding token value is added to the structures in the mount control block, and wherein the virtual subdirectory name is saved in the structures in the mount control block.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×