CIFS access to NFS files and directories by translating NFS file handles into pseudo-pathnames
First Claim
1. A method of accessing a file in a file server, the file server storing a file system including the file and a directory including a name of the file, the file having a pathname including the name of the directory and the name of the file in the directory, said method comprising:
- (a) the file server producing a file handle for locating the file in the file server;
(b) encoding the file handle in a pseudo-pathname; and
(c) a client using the pseudo-pathname as a substitute for the pathname of the file in a network file access protocol for accessing the file in the file server; and
(d) the file server recognizing that the pseudo-pathname has been used as a substitute for the pathname of the file in the file access protocol, and upon recognizing that the pseudo-pathname has been used as a substitute for the pathname of the file in the file access protocol, the file server decoding the file handle from the pseudo-pathname and using the file handle for locating and accessing the file in the file server without searching any directory of the file system.
9 Assignments
0 Petitions
Accused Products
Abstract
A file handle produced by a file server is encoded into a pseudo-pathname used as a substitute for a pathname in a network file access protocol for accessing a file in the file server. The method avoids repeating a directory lookup and may permit the network file access protocol to access a file that has been renamed since the file handle was produced. The method is particularly advantageous for enabling a file server to use a CIFS client for virus checking or backup of a file modified by an NFS client. In a preferred implementation, the encoding of the file handle into a pseudo-pathname involves converting the file handle to an ASCII hexadecimal format to produce a component name, and appending the component name to a special name of a pseudo-directory of file handles of files in a file system.
-
Citations
20 Claims
-
1. A method of accessing a file in a file server, the file server storing a file system including the file and a directory including a name of the file, the file having a pathname including the name of the directory and the name of the file in the directory, said method comprising:
-
(a) the file server producing a file handle for locating the file in the file server; (b) encoding the file handle in a pseudo-pathname; and (c) a client using the pseudo-pathname as a substitute for the pathname of the file in a network file access protocol for accessing the file in the file server; and (d) the file server recognizing that the pseudo-pathname has been used as a substitute for the pathname of the file in the file access protocol, and upon recognizing that the pseudo-pathname has been used as a substitute for the pathname of the file in the file access protocol, the file server decoding the file handle from the pseudo-pathname and using the file handle for locating and accessing the file in the file server without searching any directory of the file system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of sharing access to a file of a file system between a first client and a second client, the file system being stored in a file server providing service to the first client and the second client, said method comprising:
-
(a) the first client using the Network File Access (NFS) protocol to send to the file server a directory lookup request to locate a file specified by a name of the file, and the file server responding by locating the file and returning an NFS file handle to the first client, and the first client using the NFS protocol to send to the file server a write request including the NFS file handle to write data to the file, and the file server responding by writing the data to the file; and (b) the second client using the Common Internet File System (CIFS) protocol to send to the file server a request to open the file, the request to open the file including a pseudo-pathname specifying the file, the pseudo-pathname being used as a substitute for a pathname of the file in the CIFS protocol, and the file server decoding the NFS file handle from the pseudo-pathname and using the NFS file handle for locating and opening the file, and the file server returning to the second client a File ID, and the second client using the CIFS protocol to send to the file server a read request including the File ID to read the data from the file, and the file server responding by reading the data from the file and returning the data read from the file to the second network client. - View Dependent Claims (13, 14)
-
-
15. A file server comprising:
-
data storage for storing a file system; at least one data processor coupled to the data storage for accessing the file system in the data storage; and a network interface coupled to said at least one data processor for data communication between network clients and said least one data processor; wherein said at least one data processor is programmed for providing the network clients with access to the file system using the Network File System (NFS) protocol and the Common Internet File System (CIFS) protocol, wherein said at least one data processor is programmed for providing a first network client with access to the file system using the NFS protocol for receiving from the first network client a name of the file and in response providing to the first network client an NFS file handle identifying the file in the file server, and for receiving from the first network client a request including the file handle for writing data to the file and in response writing the data to the file; and wherein said at least one data processor is further programmed for providing a second network client with access to the file system using the CIFS protocol for receiving from the second network client a pseudo-pathname specifying the file, wherein the NFS file handle is encoded in the pseudo-pathname and the pseudo-pathname is used as a substitute for a pathname of the file in the CIFS protocol, and wherein said at least one data processor is programmed to recognize that the pseudo-pathname has been used in the CIFS protocol as a substitute for the pathname and upon recognizing that the pseudo-pathname has been used in the CIFS protocol as a substitute for the pathname then decoding the NFS file handle from the pseudo-pathname and using the NFS file handle for accessing the file to enable the second client to read the data from the file. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification