Dynamic network access of snapshotted versions of a clustered file system
First Claim
1. A method for enabling a network device to access files in a distributed file system, comprising:
- receiving an operation request from a client that includes at least an entry-ID for a file and a snapshot ID;
retrieving a snapshot tracking file directory entry from the distributed file system based on the snapshot-ID, wherein the retrieved snapshot tracking file directory entry includes a generation-ID;
determining if the generation-ID and the snapshot-ID are dissimilar;
in response to determining the generation-ID and the snapshot-ID are dissimilar, retrieving a second snapshot tracking file directory entry from the distributed file system based on the value of the generation-ID, wherein the snapshot-ID is set to the value of the generation-ID;
retrieving a directory entry for the file from the second snapshot tracking file directory based on the entry-ID and the snapshot-ID;
performing the operation request on the retrieved directory entry for the file, wherein the performing of the operation request based on the second snapshot tracking file directory is transparent to the client;
receiving an alias request that includes at least the snapshot-ID, and an alias-ID;
retrieving the snapshot tracking file directory entry that corresponds to the snapshot-ID; and
generating a new generation-ID for a new snapshot alias file directory entry that corresponds to the alias-ID and saving the new snapshot alias file directory entry in the distributed file system.
9 Assignments
0 Petitions
Accused Products
Abstract
The various embodiments are directed towards enabling access to snapshotted versions of files in a distributed file system. The distributed file system may receive a file system operation request that includes at least an entry-ID and a snapshot-ID. File system operation requests may include operations such as reads, writes, moves, or the like. Directory entries that match the entry-ID and the snapshot-ID may be looked up and retrieved from the distributed file system. The retrieved directory entries may also be arranged to include a generation-ID. In the directory entry matching the snapshot-ID, if the generation-ID and the snapshot-ID are different, another directory entry may be looked up from the distributed file system using the entry-ID and the generation-ID. Then the initially requested file system operation may be performed on the retrieved directory entry.
59 Citations
20 Claims
-
1. A method for enabling a network device to access files in a distributed file system, comprising:
-
receiving an operation request from a client that includes at least an entry-ID for a file and a snapshot ID; retrieving a snapshot tracking file directory entry from the distributed file system based on the snapshot-ID, wherein the retrieved snapshot tracking file directory entry includes a generation-ID; determining if the generation-ID and the snapshot-ID are dissimilar; in response to determining the generation-ID and the snapshot-ID are dissimilar, retrieving a second snapshot tracking file directory entry from the distributed file system based on the value of the generation-ID, wherein the snapshot-ID is set to the value of the generation-ID; retrieving a directory entry for the file from the second snapshot tracking file directory based on the entry-ID and the snapshot-ID; performing the operation request on the retrieved directory entry for the file, wherein the performing of the operation request based on the second snapshot tracking file directory is transparent to the client; receiving an alias request that includes at least the snapshot-ID, and an alias-ID; retrieving the snapshot tracking file directory entry that corresponds to the snapshot-ID; and generating a new generation-ID for a new snapshot alias file directory entry that corresponds to the alias-ID and saving the new snapshot alias file directory entry in the distributed file system. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A network device for enabling access to files in a distributed file system, comprising:
-
a transceiver for communicating over the network; a memory for storing at least instructions; a processor device that is operative to execute instructions that enable actions, including; receiving an operation request that includes at least an entry-ID for a file and a snapshot ID; retrieving a snapshot tracking file directory entry from the distributed file system based on the snapshot-ID, wherein the retrieved snapshot directory entry includes a generation-ID; determining if the generation-ID and the snapshot-ID are dissimilar; in response to determining the generation-ID and the snapshot-ID are dissimilar, retrieving a second snapshot tracking file directory entry from the distributed file system based on the value of the generation-ID, wherein the snapshot-ID is set to the value of the generation-ID; retrieving a directory entry for the file from the second snapshot tracking file directory based on the entry-ID and the snapshot-ID; performing the operation request on the retrieved directory entry for the file, wherein the performing of the operation request based on the second snapshot tracking file directory is transparent to the client; receiving an alias request that includes at least the snapshot-ID, and an alias-ID; retrieving the snapshot tracking file directory entry that corresponds to the snapshot-ID; and generating a new generation-ID for a new snapshot alias file directory entry that corresponds to the alias-ID and saving the new snapshot alias file directory entry in the distributed file system. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A system for enabling a network device to access files in a distributed file system, comprising:
-
a server network device, including; a transceiver for communicating over the network; a memory for storing at least instructions; a processor device that is operative to execute instructions that enable actions, including; receiving an operation request a client device that includes at least an entry-ID for a file and a snapshot ID; determining if the generation-ID and the snapshot-ID are dissimilar; in response to determining the generation-ID and the snapshot-ID are dissimilar, retrieving a second snapshot tracking file directory entry from the distributed file system based on the value of the generation-ID, wherein the snapshot-ID is set to the value of the generation-ID; retrieving a directory entry for the file from the second snapshot tracking file directory based on the entry-ID and the snapshot-ID; and performing the operation request on the retrieved directory entry for the file, wherein the performing of the operation request based on the second snapshot tracking file directory is transparent to the client; receiving an alias request that includes at least the snapshot-ID, and an alias-ID; retrieving the snapshot tracking file directory entry that corresponds to the snapshot-ID; and generating a new generation-ID for a new snapshot alias file directory entry that corresponds to the alias-ID and saving the new snapshot alias file directory entry in the distributed file system; and the client device, including; a transceiver for communicating over the network; a memory for storing at least instructions; a processor device that is operative to execute instructions that enable actions, including; generating the operation request, wherein the operation request includes the entry-ID and the snapshot ID, wherein the entry-ID is determined from a file handle; and generating the alias request, wherein the alias request includes the snapshot-ID and the alias-ID. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A processor readable non-transitive storage media that includes instructions for enabling a network device to access files in a distributed file system, wherein the network device that executes at least a portion of the instructions enables actions, comprising:
-
receiving an operation request from a client that includes at least an entry-ID for a file and a snapshot ID; retrieving a snapshot tracking file directory entry from the distributed file system based on the snapshot-ID, wherein the retrieved snapshot tracking file directory entry includes a generation-ID; determining if the generation-ID and the snapshot-ID are dissimilar; in response to determining the generation-ID and the snapshot-ID are dissimilar, retrieving a second snapshot tracking file directory entry from the distributed file system based on the value of the generation-ID, wherein the snapshot-ID is set to the value of the generation-ID; retrieving a directory entry for the file from the second snapshot tracking file directory based on the entry-ID and the snapshot-ID; performing the operation request on the retrieved directory entry for the file, wherein the performing of the operation request based on the second snapshot tracking file directory is transparent to the client; receiving an alias request that includes at least the snapshot-ID, and an alias-ID; retrieving the snapshot tracking file directory entry that corresponds to the snapshot-ID; and generating a new generation-ID for a new snapshot alias file directory entry that corresponds to the alias-ID and saving the new snapshot alias file directory entry in the distributed file system. - View Dependent Claims (17, 18, 19, 20)
-
Specification