Client-server protocol for directory access of snapshot file systems in a storage system
First Claim
1. A method of accessing a group of related snapshot file systems stored in a data storage system, each of the related snapshot file systems being the state of a production file system at a respective point in time, each of the related snapshot file systems having been configured to have a common internal file identifier (fid′
- ) and a different respective internal file system identifier (fsid′
), wherein said method comprises;
decoding a pathname to an object in one of the related snapshot file systems in accordance with a file access protocol, the decoding of the pathname to the object selecting a common external file system identifier (fsid) for the group of related snapshot file systems, the common external file system identifier (fsid) for the group of related snapshot file systems being the common internal file identifier (fid′
), and selecting a respective external file identifier (fid) distinguishing said one of the related snapshot file systems from the other related snapshot file systems in the group of related snapshot file systems, and selecting a file identifier for the object within said one of the related snapshot file systems; and
accessing the object in said one of the related snapshot file systems by using the common external file system identifier (fsid) for the group of related snapshot file systems to select the group of related snapshot file systems from within the data storage system, using the external file identifier (fid) distinguishing said one of the related snapshot file systems from the other related snapshot file systems in the group of related snapshot file systems as the internal file system identifier (fsid′
) to select said one of the related snapshot file systems stored in the data storage system from within the selected group of related snapshot file systems, and using the file identifier for the object within said one of the related snapshot file systems to select and access the object from within said one of the related snapshot file systems.
9 Assignments
0 Petitions
Accused Products
Abstract
Internally, a production file system and each of its related snapshot file systems have a common file system identifier (fid′) and a unique respective file system identifier (fsid′). Externally, the production file system and each of its related snapshot file systems has a common file system identifier (fsid) and a unique respective file identifier (fid). For example, the “fsid” and “fid” for the production and snapshot file systems are interchanged between a client-server protocol layer and a logical volume layer in a file server. Moreover, the file handle for an object indicates whether an object is in either a production file system that is not configured to have related snapshots, a production file system that is configured to have related snapshots, or a snapshot file system. When the object is in a snapshot file system, the file handle also indicates the related production file system.
104 Citations
44 Claims
-
1. A method of accessing a group of related snapshot file systems stored in a data storage system, each of the related snapshot file systems being the state of a production file system at a respective point in time, each of the related snapshot file systems having been configured to have a common internal file identifier (fid′
- ) and a different respective internal file system identifier (fsid′
), wherein said method comprises;
decoding a pathname to an object in one of the related snapshot file systems in accordance with a file access protocol, the decoding of the pathname to the object selecting a common external file system identifier (fsid) for the group of related snapshot file systems, the common external file system identifier (fsid) for the group of related snapshot file systems being the common internal file identifier (fid′
), and selecting a respective external file identifier (fid) distinguishing said one of the related snapshot file systems from the other related snapshot file systems in the group of related snapshot file systems, and selecting a file identifier for the object within said one of the related snapshot file systems; and
accessing the object in said one of the related snapshot file systems by using the common external file system identifier (fsid) for the group of related snapshot file systems to select the group of related snapshot file systems from within the data storage system, using the external file identifier (fid) distinguishing said one of the related snapshot file systems from the other related snapshot file systems in the group of related snapshot file systems as the internal file system identifier (fsid′
) to select said one of the related snapshot file systems stored in the data storage system from within the selected group of related snapshot file systems, and using the file identifier for the object within said one of the related snapshot file systems to select and access the object from within said one of the related snapshot file systems. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
- ) and a different respective internal file system identifier (fsid′
-
11. A method of configuring a network file server for access to a group of related snapshot file systems in data storage of the network file server, each of the related snapshot file systems being the state of a production file system at a respective point in time, the network file server having a client-server protocol layer of programming for client access to file system objects in the data storage of the network file server, said method comprising:
-
configuring each of the related snapshot file systems to have a common internal file identifier (fid′
) and a different respective internal file system identifier (fsid′
); and
programming the network file server for interchanging the common internal file identifier (fid′
) with the different respective internal file system identifier (fsid′
) of each related snapshot file system for access of the client-server protocol layer to said each related snapshot file system. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method of configuring a network file server for access to a group of related snapshot file systems in data storage of the network file server, each of the related snapshot file systems being the state of a production file system at a respective point in time, the network file server having a client-server protocol layer of programming for client access to file system objects in the data storage of the network file server, said method comprising:
-
configuring each of the related snapshot file systems to have a common internal file identifier (fid′
) and a different respective internal file system identifier (fsid′
); and
programming the network file server for interchanging the common internal file identifier (fid′
) with the internal file system identifier (fsid′
) of each related snapshot file system for access of the client-server protocol layer to said each related snapshot file system. - View Dependent Claims (17, 18, 19)
-
-
20. A method of operating a network file server having data storage storing a production file system and related snapshot file systems, each of the related snapshot file systems being the state of the production file system at a respective point in time, wherein the method comprises:
-
the network file server responding to a directory lookup request from a client for access to a file system object in one of the related snapshot file systems by returning to the client a file handle pointing to the file system object in said one of the related snapshot file systems, and the network file server responding to an access request including the file handle by decoding the file handle to locate and access the object in said one of the related snapshot file systems;
wherein the network file server encodes in the file handle a file identifier indicating where the production file system is located in the data storage of the network file server, a file identifier indicating were said one of the related snapshot file systems is located in the data storage of the network file server, and a file identifier indicating where the file system object is located within said one of the related snapshot file systems. - View Dependent Claims (21)
-
-
22. A method of operating a network file server having data storage storing a production file system and related snapshot file systems, each of the related snapshot file systems being the state of the production file system at a respective point in time, wherein the method comprises:
-
the network file server responding to a directory lookup request from a client for access to a file system object in the data storage of the network file server by returning to the client a file handle pointing to the file system object in the data storage of the network file server, and the network file server responding to an access request including the file handle by decoding the file handle to locate and access the object in the data storage of the network file server, wherein the network file server encodes in the file handle an indication of whether the file system object is in either a file system that is not configured for having related snapshot file systems, a production file system that is configured for having related snapshot file systems, or a snapshot file system. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
-
29. A network file server comprising:
-
data storage for storing a production file system and a group of related snapshot file systems, each of the related snapshot file systems being the state of the production file system at a respective point in time; and
a client-server protocol layer of programming for client access to file system objects in the data storage of the network file server;
wherein each of the related snapshot file systems has a common internal file identifier (fid′
) and a different respective internal file system identifier (fsid′
); and
wherein the network file server is programmed for interchanging the common internal file identifier (fid′
) with the respective internal file system identifier (fsid′
) of each related snapshot file system for access of the client-server protocol layer to said each related snapshot file system. - View Dependent Claims (30, 31, 32, 33, 34, 35)
-
-
36. A network file server comprising:
-
data storage for storing a production file system and a group of related snapshot file systems, each of the related snapshot file systems being the state of the production file system at a respective point in time; and
a client-server protocol layer of programming for client access to file system objects in the data storage of the network file server;
wherein the client-server protocol layer responds to a directory lookup request from a client for access to a file system object in one of the related snapshot file systems by returning to the client a file handle pointing to the file system object in said one of the related snapshot file systems, and the client-server protocol layer responds to an access request from the client, the access request including the file handle, the client-server protocol layer responding by decoding the file handle to locate and access the object in said one of the related snapshot file systems;
wherein the client-server protocol layer encodes in the file handle a file identifier indicating where the production file system is located in the data storage of the network file server, a file identifier indicating were said one of the related snapshot file systems is located in the data storage of the network file server, and a file identifier indicating where the file system object is located within said one of the related snapshot file systems. - View Dependent Claims (37)
-
-
38. A network file server comprising:
-
data storage for storing a production file system and a group of related snapshot file systems, each of the related snapshot file systems being the state of the production file system at a respective point in time; and
a client-server protocol layer of programming for client access to file system objects in the data storage of the network file server;
wherein the client-server protocol layer responds to a directory lookup request from a client for access to a file system object in the data storage by returning to the client a file handle pointing to the file system object in the data storage, and the client-server protocol layer responds to an access request from the client, the access request including the file handle, the client-server protocol layer responding to the access request by decoding the file handle to locate and access the object in the data storage, wherein the client-server protocol layer encodes in the file handle an indication of whether the file system object is in either a file system that is not configured for having related snapshot file systems, a production file system that is configured for having related snapshot file systems, or a snapshot file system. - View Dependent Claims (39, 40, 41, 42, 43, 44)
-
Specification