Symbolic-link identifying
AssigneeInternational Business Machines Corporation
InventorsVenkateswararao Jujjuri, Sripathi Kodi, Mohan Kumar Mohan Raj, Aneesh K. Veetil
Life of this patent
Estimating the term…
Abstract
Identifying symbolic links in network file systems is provided. An absolute path may be determined at a network file server. This may include determining a complete client path from an initial client path and combining the complete client path with a server export path. Once the absolute path is determined, it may be traversed using a file descriptor of each file in the absolute path to identify a symbolic link.
Claims20
A computer-implemented method of identifying a symbolic link in a path, comprising:
- determining, at a network file server, an absolute path having no symbolic links;
- and
- traversing, at the network file server, the determined absolute path using a file descriptor of each file in the absolute path to identify a first symbolic link that was inserted in the absolute path after the absolute path was determined, including starting at a root file or directory of the absolute path and sequentially attempting to open each file or directory in the absolute path,
- wherein opening each file is performed using an open operation with a first parameter that causes the open operation to open a file or directory that is adjacent a most recently returned file descriptor in the absolute path, and a second parameter that causes the open operation to determine whether the adjacent file or directory is a symbolic link,
- wherein the open operation is a specialized open operation that starts from a directory identified by the first parameter as opposed to a general-purpose open operation that starts from a current working directory.
A computer program product for executing a network file server on a computer, said computer program product including a plurality of computer executable instructions stored on a non-transitory computer-readable medium, wherein said instructions are executed by the computer to:
- determine a complete client path from an initial client path;
- combine the complete client path with a server export path to generate an absolute path having no symbolic links;
- and
- traverse the determined absolute path using a file descriptor of each file in the absolute path to identify a first symbolic link that was inserted in the absolute path after the absolute path was determined, including starting at a root file or directory of the absolute path and sequentially attempting to open each file or directory in the absolute path,
- wherein opening each file is performed using an open operation with a first parameter that causes the open operation to open a file or directory that is adjacent a most recently returned file descriptor in the absolute path, and a second parameter that causes the open operation to determine whether the adjacent file or directory is a symbolic link,
- wherein the open operation is a specialized open operation that starts from a directory identified by the first parameter as opposed to a general-purpose open operation that starts from a current working directory.
A network file system, comprising:
- a processor;
- a memory;
- and
- a network file server program including a plurality of instructions stored in the memory that are executed by the processor to:
- receive a file access request from a client of the network file system;
- concatenate a complete client path determined from the file access
- request with a server export path to determine an absolute path having no symbolic links;
- traverse the determined absolute path using a file descriptor of each file in the absolute path to identify a first symbolic link that was inserted in the absolute path after the absolute path was determined;
- obtain a file descriptor for the server export path;
- starting at the file descriptor for the server export path, sequentially attempt to open each file or directory in the absolute path;
- and
- open each file using an open operation with a first parameter that causes the open operation to open a file or directory that is adjacent a most recently returned file descriptor in the absolute path, and a second parameter that causes the open operation to determine whether the adjacent file or directory is a symbolic link,
- wherein the open operation is a specialized open operation that starts from a directory identified by the first parameter as opposed to a general-purpose open operation that starts from a current working directory.
Dependencies are inferred from the claim text.