Space management for a hierarchical set of file systems
First Claim
1. A method for storage management in a hierarchical set of file systems, the method comprising:
- creating a structure for the hierarchical set of file systems including a top-file system and sub-file systems that each include files and directories;
tracking directories for the sub-file systems of the hierarchical set of file systems;
maintaining a directory while providing the directory is capable of residing in more than one sub-file system;
for each directory in the hierarchical set of file systems;
maintaining a corresponding directory in the top-file system; and
maintaining a number of symbolic pointers in the corresponding directory which each point from the corresponding directory to a sub-file system where any portion of the tracked directory resides; and
upon a request by a particular sub-file system for more inodes without any inodes available, revoking inode numbers from at least one other sub-file system having unused inodes;
wherein per-dataset failure isolation is limited by placement of files across multiple sub-file systems, and each directory in the sub-file systems is named using an inode number of a directory in the top file system.
1 Assignment
0 Petitions
Accused Products
Abstract
One embodiment provides a method for storage management in a hierarchical file system. The method includes tracking directories for sub-file systems of the hierarchical set of file systems and maintaining a corresponding directory in a top-file system and a number of symbolic pointers in the corresponding directory which each point from the corresponding directory to a sub-file system where any portion of the tracked directory resides. If available space in a first sub-file system is below a threshold, the system identifies a second sub-file system with available space above the threshold, wherein the first sub-file system contains a first portion of the directory. If a second portion of the directory does not exist in the second sub-file system, the system creates the second portion of the directory in the second sub-file system and creates a link from the first portion of the directory to the second portion of the directory.
65 Citations
20 Claims
-
1. A method for storage management in a hierarchical set of file systems, the method comprising:
-
creating a structure for the hierarchical set of file systems including a top-file system and sub-file systems that each include files and directories; tracking directories for the sub-file systems of the hierarchical set of file systems; maintaining a directory while providing the directory is capable of residing in more than one sub-file system; for each directory in the hierarchical set of file systems; maintaining a corresponding directory in the top-file system; and maintaining a number of symbolic pointers in the corresponding directory which each point from the corresponding directory to a sub-file system where any portion of the tracked directory resides; and upon a request by a particular sub-file system for more inodes without any inodes available, revoking inode numbers from at least one other sub-file system having unused inodes; wherein per-dataset failure isolation is limited by placement of files across multiple sub-file systems, and each directory in the sub-file systems is named using an inode number of a directory in the top file system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
wherein; maintaining comprises; if available space in a first sub-file system is below a threshold, identifying a second sub-file system with available space above the threshold, wherein the first sub-file system contains a first portion of the directory; and a namespace in the top file system and pointers to each of the multiple sub-file systems include a name of a directory in a sub-file system that is its inode number in the top file system portion.
-
-
3. The method of claim 2, further comprising:
-
if a second portion of the directory exists in the second sub-file system, creating a file in the second portion of the directory; and parallelizing file system operations by issuing the file system operations on any number of sub-file systems simultaneously.
-
-
4. The method of claim 3, further comprising:
if a second portion of the directory does not exist in the second sub-file system; creating the second portion of the directory in the second sub-file system; creating the file in the second portion of the directory; and creating a symbolic link from a corresponding directory in the top-file system to the second sub-file system, wherein the corresponding directory relates to the first portion of the directory.
-
5. The method of claim 2, further comprising:
if a second portion of the directory exists in the second sub-file system, moving a file into the second portion of the directory.
-
6. The method of claim 5, further comprising:
if a second portion of the directory does not exist in the second sub-file system; creating the second portion of the directory in the second sub-file system; moving the file into the second portion of the directory; and creating a symbolic link from a corresponding directory in the top-file system to the second sub-file system, wherein the corresponding directory relates to the first portion of the directory.
-
7. The method of claim 2, further comprising:
if a second portion of the directory exists in the second sub-file system, creating a pointer for a file which points from the first portion of the directory to the second portion of the directory, wherein an extended part of a file resides in the second portion of the directory.
-
8. The method of claim 7, further comprising:
if a second portion of the directory does not exist in the second sub-file system; creating the second portion of the directory in the second sub-file system; creating a link from the first portion of the directory to the second portion of the directory; and creating a pointer for the file which points from the first portion of the directory to the second portion of the directory, wherein an extended part of the file resides in the second portion of the directory.
-
9. The method of claim 2, wherein:
-
identifying comprises; checking available space in sub-file systems that contain a portion of the directory; and then checking available space in sub-file systems that do not contain a portion of the directory; the sub-file systems are mapped across storage building blocks and include elastic file servers and storage devices; and create, move and search operations performed on the sub-file systems are parallelized.
-
-
10. A computer program product for storage management in a hierarchical set of file systems, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to:
-
create, by the processor, a structure for the hierarchical set of file systems including a top-file system and sub-file systems that each include files and directories; track, by the processor, directories for the sub-file systems of the hierarchical set of file systems; maintain, by the processor, a directory while providing the directory is capable of residing in more than one sub-file system; for each directory in the hierarchical set of file systems; maintain, by the processor, a corresponding directory in the top-file system; and maintain, by the processor, a number of symbolic pointers in the corresponding directory which each point from the corresponding directory to a sub-file system where any portion of the tracked directory resides; and upon a request by a particular sub-file system for more inodes without any inodes available, revoke, by the processor, inode numbers from at least one other sub-file system having unused inodes; wherein per-dataset failure isolation is limited by placement of files across multiple sub-file systems, and each directory in the sub-file systems is named using an inode number of a directory in the top file system. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. An apparatus comprising:
-
a memory storing instructions; and one or more processors executing the instructions to; create a structure for a hierarchical set of file systems including a top-file system and sub-file systems that each include files and directories; track directories for the sub-file systems of the hierarchical set of file systems; maintain a directory while providing the directory is capable of residing in more than one sub-file system; and upon a request by a particular sub-file system for more inodes without any inodes available, revoke inode numbers from at least one other sub-file system having unused inodes; wherein per-dataset failure isolation is limited by placement of files across multiple sub-file systems, and each directory in the sub-file systems is named using an inode number of a directory in the top file system. - View Dependent Claims (20)
-
Specification