Path lookup in a hierarchical file system
First Claim
1. A non-transitory computer-readable medium storing computer-executable instructions that when executed by an apparatus control the apparatus to perform a method, the method comprising:
- identifying an inode associated with an object located in a hierarchical file system, where the hierarchical file system has a root directory, where the hierarchical file system has a subdirectory that branches out from the root directory along a pathway, and where the object is subject to a size altering operation;
identifying an inode chain that describes a pathway in the hierarchical file system from the object through a subdirectory based, at least in part, on ancestry information associated with the inode, where identifying the inode chain includes walking up the inode chain to the root directory by identifying a parent of the inode or by identifying a parent of the object;
performing a size constraint analysis for the subdirectory on the pathway based, at least in part, on size constraint information associated with the inodes on the inode chain, by calculating a change in size of the object based on a determination that the size altering operation were to be performed and comparing the calculated change in size of the object to a size constraint, where the size constraint limits the amount by which the size of the object is allowed to change in a transaction, where the size constraint information is stored in a size constraint information data structure external to an inode table, where the size constraint information data structure is a b-tree; and
selectively performing the size altering operation associated with the object based, at least in part, on the size constraint analysis,wherein at least one of;
an inode associated with an object subject to a size constraint is stored more frequently in a cache memory in the apparatus than an inode that is associated with an object that is not subject to a size constraint, or the inode associated with an object subject to a size constraint is stored for a longer period of time in the cache memory than the inode that is associated with an object that is not subject to a size constraint, or the inode associated with an object subject to a size constraint is stored permanently in the cache memory.
10 Assignments
0 Petitions
Accused Products
Abstract
Apparatus and methods are provided herein for path lookup in a hierarchical file system. An inode associated with a requested object is identified. The inode may be organized in an inode table and identified in the table using an inode number. Ancestry information and size constraint information may also be available for the inode. An inode chain associated with the pathway is identified based, at least in part, on ancestry information associated with the inode for the requested object. A size constraint analysis is performed for the requested object. The size altering operation is selectively performed based on the size constraint analysis.
14 Citations
15 Claims
-
1. A non-transitory computer-readable medium storing computer-executable instructions that when executed by an apparatus control the apparatus to perform a method, the method comprising:
-
identifying an inode associated with an object located in a hierarchical file system, where the hierarchical file system has a root directory, where the hierarchical file system has a subdirectory that branches out from the root directory along a pathway, and where the object is subject to a size altering operation; identifying an inode chain that describes a pathway in the hierarchical file system from the object through a subdirectory based, at least in part, on ancestry information associated with the inode, where identifying the inode chain includes walking up the inode chain to the root directory by identifying a parent of the inode or by identifying a parent of the object; performing a size constraint analysis for the subdirectory on the pathway based, at least in part, on size constraint information associated with the inodes on the inode chain, by calculating a change in size of the object based on a determination that the size altering operation were to be performed and comparing the calculated change in size of the object to a size constraint, where the size constraint limits the amount by which the size of the object is allowed to change in a transaction, where the size constraint information is stored in a size constraint information data structure external to an inode table, where the size constraint information data structure is a b-tree; and selectively performing the size altering operation associated with the object based, at least in part, on the size constraint analysis, wherein at least one of;
an inode associated with an object subject to a size constraint is stored more frequently in a cache memory in the apparatus than an inode that is associated with an object that is not subject to a size constraint, or the inode associated with an object subject to a size constraint is stored for a longer period of time in the cache memory than the inode that is associated with an object that is not subject to a size constraint, or the inode associated with an object subject to a size constraint is stored permanently in the cache memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An apparatus, comprising:
-
a processor; a memory configured to store a first data structure configured to store inodes and a second data structure configured to store ancestry information and size constraint information for objects located in a hierarchical file system and having entries in the first data structure, where the hierarchical file system has a root directory, and where the hierarchical file system organizes objects in a pathway, where the first data structure stores a root inode more frequently than a non-root inode, or where the first data structure stores the root inode for a longer period of time than a non-root inode, or where the first data structure stores the root inode permanently, and where the second data structure configured to store ancestry information and size constraint information is a b-tree; a set of logics; and an interface configured to connect the processor, the memory, and the set of logics, the set of logics comprising; an inode logic configured to identify an inode for an object, and to identify ancestry information and size constraint information associated with the inode; and a path lookup logic configured to use the ancestry information to discover a pathway, where the pathway describes a path from the root directory to the object through parent objects, and determine whether an object associated with the inode is subject to a size limitation by identifying size constraint information for the parent objects on the pathway, where the size limitation limits the amount by which the size of the object is allowed to change in a transaction, or where the path lookup logic is configured to discover the pathway by walking up an inode chain to the root directory by identifying a parent of the inode or by identifying a parent of the object, wherein at least one of;
an inode associated with an object subject to a size limitation is stored more frequently in a cache memory in the apparatus than an inode that is associated with an object that is not subject to a size limitation, or where the inode associated with an object subject to a size limitation is stored for a longer period of time in the cache memory than the inode that is associated with an object that is not subject to a size limitation, or where the inode associated with an object subject to a size limitation is stored permanently in the cache memory. - View Dependent Claims (12, 13, 14, 15)
-
Specification