System and method for maintaining mappings from data containers to their parent directories
First Claim
Patent Images
1. A method for maintaining a mapping from a data container to a parent directory within a file system of a storage operating system, comprising:
- providing a primary name data structure within an inode associated with the data container having a parent directory inode field and a parent directory cookie field, the primary name data structure identifying a primary name associated with the inode and mapping the data container to its parent directory within the file system of the storage operating system, the primary name persistently stored within the file system, wherein the parent directory cookie field identifies a specified directory entry within a specified directory block of a directory identified by the parent directory inode field;
providing an alternate name data container storing a plurality of alternate names associated with the inode, the alternate name data container including a file organized as B+ tree;
storing the alternate name data container within a hidden metadata directory of the file system of the storage operating system, wherein the alternate name data container is persistently stored within the file system; and
identifying, by the file system, a pathname to the data container using information stored in the primary name data structure.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method maintains mappings from data containers to their parent directories within a file system of a storage system. Each inode is modified to include a primary name data structure comprising a parent directory inode and a parent directory cookie value. The parent directory cookie value identifies a particular directory entry within a specified block of a directory identified by parent directory inode. An alternate name file is utilized to store alternate names, such as those associated with hard links.
54 Citations
11 Claims
-
1. A method for maintaining a mapping from a data container to a parent directory within a file system of a storage operating system, comprising:
-
providing a primary name data structure within an inode associated with the data container having a parent directory inode field and a parent directory cookie field, the primary name data structure identifying a primary name associated with the inode and mapping the data container to its parent directory within the file system of the storage operating system, the primary name persistently stored within the file system, wherein the parent directory cookie field identifies a specified directory entry within a specified directory block of a directory identified by the parent directory inode field; providing an alternate name data container storing a plurality of alternate names associated with the inode, the alternate name data container including a file organized as B+ tree; storing the alternate name data container within a hidden metadata directory of the file system of the storage operating system, wherein the alternate name data container is persistently stored within the file system; and identifying, by the file system, a pathname to the data container using information stored in the primary name data structure. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for maintaining a mapping from a data container to a parent directory, the system comprising:
-
a computer implementing a file system, the file system configured to store a primary name data structure in an inode associated with the data container having a parent directory inode field and a parent directory cookie field, and to map the data container to its parent directory within the file system, wherein the primary name is persistently stored within the file system wherein the parent directory cookie field identifies a specified directory entry within a specified directory block of a directory identified by the parent directory inode field; the file system configured to store an alternate name data container, the alternate name data container storing a plurality of alternate names associated with the inode and including a file organized as a B+ tree; the file system configured to store the alternate name data container in a hidden metadata directory of the file system, wherein the alternate name data container is persistently stored within the file system; and the file system further configured to identify a pathname to the data container using information stored in the primary name data structure. - View Dependent Claims (8, 9)
-
-
10. A method for maintaining a mapping from a data container to a parent directory within a file system of a storage operating system, comprising:
-
creating a new name associated with the data container; determining whether the created name is a primary name associated with the data container; in response to determining that the created name is the primary name associated with the data container, setting a primary name data structure in the inode associated with the data container and mapping the data container to its parent directory within the file system of the storage operating system wherein the primary name is persistently stored within the file system, the primary name data structure having a parent directory inode field and a parent directory cookie field wherein the parent directory cookie field identifies a specified directory entry within a specified directory block of a directory identified by the parent directory inode field; in response to determining that the created name is not the primary name associated with the data container, creating a plurality of alternate names in an alternate name data container wherein the alternate name data container includes a file organized as a B+ tree; and storing the alternate name data container in a hidden metadata directory of the file system of the storage operating system, wherein the alternate name data container is persistently stored within the file system.
-
-
11. A method, comprising:
-
modifying a metadata section of each inode of a data container to include a primary name data structure, wherein the primary name data structure includes an inode number associated with a parent directory of the data container and a parent directory cookie, wherein the parent directory cookie identifies a specific directory block and entry within a directory structure associated with the parent directory; generating an alternate name data container storing a plurality of entries, wherein each entry includes an inode number that identifies the inode associated with the data container, a parent directory inode number and a cookie value that identify a directory block and a directory entry containing a pathname associated with the alternate name wherein the alternate name data container includes a file organized as a B+ tree; storing the alternate name data container within a hidden metadata directory of the file system of a storage operating system, wherein the alternate name data container is persistently stored within the file system; and identifying, by a file system, a pathname to the data container using information stored in the primary name data structure.
-
Specification