EFFICIENT HIERARCHICAL STORAGE MANAGEMENT OF A FILE SYSTEM WITH SNAPSHOTS
First Claim
1. A method for managing the storage of a file that has been selected for migration from a first storage level within a file system to a second storage level, the selected file being selected from a plurality of source files each organized within the file system into one or more data blocks, the file system having an inode for each source file of the plurality of source files, each inode having a reference to each of the one or more data blocks of the corresponding source file, the file system being configured to regularly generate snapshot files of the source files of the plurality of source files, the file system having an inode for each snapshot file, the inode for each snapshot file having a reference to each of the one or more data blocks of the corresponding source file at the time the snapshot file was generated, the method comprising:
- copying each of the one or more data blocks of the selected file that are stored in the first storage level at a physical disk address maintained in the corresponding reference of the inode for the selected file from the first storage level to the second storage level;
maintaining a logical ditto address in each reference of the inode for each snapshot file in the file system that refers to one of the one or more data blocks of the selected file that were copied to the second storage level, each logical ditto address indicating that additional processing is required to obtain the physical disk address of the data block referred to by the reference; and
updating the file system to include a managed region for controlling access to the one or more data blocks through the inode for the selected file.
1 Assignment
0 Petitions
Accused Products
Abstract
A method is provided for managing the storage of a file that has been selected for migration from a first storage level within a file system to a second storage level. The method comprises copying each of one or more data blocks of the selected file that are stored in the first storage level at a physical disk address maintained in a corresponding reference of an inode for the selected file from the first storage level to the second storage level; maintaining a logical ditto address in each reference of an inode for each snapshot file in the file system that refers to one of the one or more data blocks of the selected file that were copied to the second storage level; and updating the file system to include a managed region for controlling access to the one or more data blocks through the inode for the selected file.
-
Citations
25 Claims
-
1. A method for managing the storage of a file that has been selected for migration from a first storage level within a file system to a second storage level, the selected file being selected from a plurality of source files each organized within the file system into one or more data blocks, the file system having an inode for each source file of the plurality of source files, each inode having a reference to each of the one or more data blocks of the corresponding source file, the file system being configured to regularly generate snapshot files of the source files of the plurality of source files, the file system having an inode for each snapshot file, the inode for each snapshot file having a reference to each of the one or more data blocks of the corresponding source file at the time the snapshot file was generated, the method comprising:
-
copying each of the one or more data blocks of the selected file that are stored in the first storage level at a physical disk address maintained in the corresponding reference of the inode for the selected file from the first storage level to the second storage level; maintaining a logical ditto address in each reference of the inode for each snapshot file in the file system that refers to one of the one or more data blocks of the selected file that were copied to the second storage level, each logical ditto address indicating that additional processing is required to obtain the physical disk address of the data block referred to by the reference; and updating the file system to include a managed region for controlling access to the one or more data blocks through the inode for the selected file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A computer-usable medium having computer readable instructions stored thereon for execution by a processor to perform a method for managing the storage of a file that has been selected for migration from a first storage level within a file system to a second storage level, the selected file being selected from a plurality of source files each organized within the file system into one or more data blocks, the file system having an inode for each source file of the plurality of source files, each inode having a reference to each of the one or more data blocks of the corresponding source file, the file system being configured to regularly generate snapshot files of the source files of the plurality of source files, the file system having an inode for each snapshot file, the inode for each snapshot file having a reference to each of the one or more data blocks of the corresponding source file at the time the snapshot file was generated, the method comprising:
-
copying each of the one or more data blocks of the selected file that are stored in the first storage level at a physical disk address maintained in the corresponding reference of the inode for the selected file from the first storage level to the second storage level; maintaining a logical ditto address in each reference of the inode for each snapshot file in the file system that refers to one of the one or more data blocks of the selected file that were copied to the second storage level, each logical ditto address indicating that additional processing is required to obtain the physical disk address of the data block referred to by the reference; and updating the file system to include a managed region for controlling access to the one or more data blocks through the inode for the selected file.
-
-
25. A data processing system comprising:
-
a central processing unit; a random access memory for storing data and programs for execution by the central processing unit; a first storage level comprising a nonvolatile storage device; and computer readable instructions stored in the random access memory for execution by central processing unit to perform a program for managing the storage of a file that has been selected for migration from the first storage level within a file system to a second storage level, the selected file being selected from a plurality of source files each organized within the file system into one or more data blocks, the file system having an inode for each source file of the plurality of source files, each inode having a reference to each of the one or more data blocks of the corresponding source file, the file system being configured to regularly generate snapshot files of the source files of the plurality of source files, the file system having an inode for each snapshot file, the inode for each snapshot file having a reference to each of the one or more data blocks of the corresponding source file at the time the snapshot file was generated, wherein the program causes operations to be performed, the operations comprising; copying each of the one or more data blocks of the selected file that are stored in the first storage level at a physical disk address maintained in the corresponding reference of the inode for the selected file from the first storage level to the second storage level; maintaining a logical ditto address in each reference of the inode for each snapshot file in the file system that refers to one of the one or more data blocks of the selected file that were copied to the second storage level, each logical ditto address indicating that additional processing is required to obtain the physical disk address of the data block referred to by the reference; and updating the file system to include a managed region for controlling access to the one or more data blocks through the inode for the selected file.
-
Specification