File systems image transfer between dissimilar file systems
First Claim
1. A computer controlled method for transferring data from a source file system to a destination file system each file system capable of storing said data in one or more storage blocks, said method including steps of:
- writing an image stream to said destination file system in accordance with a second storage block arrangement, a first storage block arrangement different from said second storage block arrangement, said data including one or more block number (BN) pointers; and
swizzling said BN pointers in said storage blocks of said destination file system in accordance with said second storage block arrangement.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention provides techniques for duplicating all or part of a file system while maintaining consistent copies of the file system. A preferred embodiment reads data from the source file system (mapped according to a first storage block arrangement) creates an image stream and writes this data onto the destination file system (in accordance with a second storage block arrangement). Thus, the invention allows an image transfer between file systems that have dissimilar characteristics. An intermediate storage medium can be used to store or transmit the data read from the source file system before writing the data to the destination file system. (For example, the intermediate storage medium can include a magnetic tape or other archival device, or a network.) Another aspect of the invention writes the data to the intermediate storage medium using a normalized or implied block list. The information is read from the intermediate storage medium using normalized or implied block list and written to the destination file system according to the second storage block arrangement. Another aspect of the invention is that the invention determines a first set of block numbers (BNs), determines where the blocks referenced by these BNs are to be stored, and updates the BNs accordingly.
153 Citations
88 Claims
-
1. A computer controlled method for transferring data from a source file system to a destination file system each file system capable of storing said data in one or more storage blocks, said method including steps of:
-
writing an image stream to said destination file system in accordance with a second storage block arrangement, a first storage block arrangement different from said second storage block arrangement, said data including one or more block number (BN) pointers; and
swizzling said BN pointers in said storage blocks of said destination file system in accordance with said second storage block arrangement. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
writing said storage blocks that contain said BN pointers in a first set of stripe bands; and
writing said storage blocks that do not contain said BN pointers in a second set of stripe bands.
-
-
10. The computer controlled method of claim 1, wherein the step of swizzling further includes steps of:
-
logging information relating identifying the progress of the step of swizzling;
terminating the step of swizzling prior to updating all of said storage blocks; and
restarting the step of swizzling using said information logged by the step of logging.
-
-
11. The computer controlled method of claim 1, wherein the step of swizzling is performed while said image stream is being written to said destination file system.
-
12. The computer controlled method of claim 1, wherein each entry in a first block-list represents at least one gob.
-
13. The computer controlled method of claim 1, wherein each entry in a first block-list represents at least one of said storage blocks.
-
14. The computer controlled method of claim 1, wherein said source file system and the destination file system are the same file system.
-
15. An apparatus having a central processing unit (CPU) and a memory coupled to said CPU for transferring data from a source file system to a destination file system each file system capable of storing said data in one or more storage blocks, said apparatus includes:
-
an image stream writing mechanism configured to write an image stream to said destination file system in accordance with a second storage block arrangement, a first storage block arrangement different from said second storage block arrangement, said data including one or more block number (BN) pointers; and
a swizzle mechanism configured to swizzle said BN pointers in said storage blocks of said destination file system in accordance with said second storage block arrangement. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
a BN block writing mechanism configured to write said storage blocks that contain said BN pointers in a first set of stripe bands; and
a data block writing mechanism configured to write said storage blocks that do not contain said BN pointers in a second set of stripe bands.
-
-
24. The apparatus of claim 15, wherein the swizzle mechanism further includes:
-
a logging mechanism configured to log information relating identifying the progress of the swizzle mechanism; and
a swizzle restart mechanism configured to resume operation of the swizzle mechanism responsive to the logging mechanism.
-
-
25. The apparatus of claim 15, wherein the swizzle mechanism operates at substantially the same time as the image stream writing mechanism.
-
26. The apparatus of claim 15, wherein each entry in a first block-list represents at least one gob.
-
27. The apparatus of claim 15, wherein each entry in a first block-list represents at least one of said storage blocks.
-
28. The apparatus of claim 15, wherein said source file system and the destination file system are the same file system.
-
29. A computer controlled system, having at least one central processing unit (CPU) and a memory coupled to said CPU, for transferring data from a source file system to a destination file system each file system capable of storing said data in one or more storage blocks, said system includes:
-
an image stream generation mechanism configured to read said data from said source file system in accordance with a first storage block arrangement to generate an image stream, said data including one or more block number (BN) pointers, the image stream generation mechanism using one or more of said at least one CPU;
an image stream writing mechanism configured to write said image stream to said destination file system in accordance with a second storage block arrangement, said first storage block arrangement different from said second storage block arrangement, the image stream writing mechanism using one or more of said at least one CPU; and
a swizzle mechanism configured to swizzle said BN pointers in said storage blocks of said destination file system in accordance with said second storage block arrangement, the swizzle mechanism using one or more of said at least one CPU. - View Dependent Claims (30, 31, 32, 33, 34)
-
-
35. A computer program product including
a computer usable storage medium having computer readable code embodied therein for causing a computer to transfer data from a source file system to a destination file system each file system capable of storing said data in one or more storage blocks, said computer readable code including: -
computer readable program code configured to cause said computer to effect an image stream writing mechanism configured to write an image stream to said destination file system in accordance with a second storage block arrangement, a first storage block arrangement different from said second storage block arrangement, said data including one or more block number (BN) pointers; and
computer readable program code configured to cause said computer to effect a swizzle mechanism configured to swizzle said BN pointers in said storage blocks of said destination file system in accordance with said second storage block arrangement. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44)
computer readable program code configured to cause said computer to effect a BN block writing mechanism configured to write said storage blocks that contain said BN pointers in a first set of stripe bands; and
computer readable program code configured to cause said computer to effect a data block writing mechanism configured to write said storage blocks that do not contain said BN pointers in a second set of stripe bands.
-
-
43. The computer program product of claim 35, wherein the swizzle mechanism further includes:
-
computer readable program code configured to cause said computer to effect a logging mechanism configured to log information relating identifying the progress of the swizzle mechanism; and
computer readable program code configured to cause said computer to effect a swizzle restart mechanism configured to resume operation of the swizzle mechanism responsive to the logging mechanism.
-
-
44. The computer program product of claim 35, wherein the swizzle mechanism operates at substantially the same time as the image stream writing mechanism.
-
45. A computer controlled method for transferring data from a consistent source file system to a consistent destination file system, each file system capable of storing said data in one or more storage blocks, said method including steps of:
-
writing an image stream from said consistent source file system to said consistent destination file system in accordance with a second storage block arrangement, a first storage block arrangement different from said second storage block arrangement, said data including one or more block number (BN) pointers; and
swizzling said BN pointers in said storage blocks of said consistent destination file system in accordance with said second storage block arrangement. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58)
writing said storage blocks that contain said BN pointers in a first set of stripe bands; and
writing said storage blocks that do not contain said BN pointers in a second set of stripe bands.
-
-
54. The computer controlled method of claim 45, wherein the step of swizzling further includes steps of:
-
logging information relating identifying the progress of the step of swizzling;
terminating the step of swizzling prior to updating all of said storage blocks; and
restarting the step of swizzling using said information logged by the step of logging.
-
-
55. The computer controlled method of claim 45, wherein the step of swizzling is performed while said image stream is being written to said consistent destination file system.
-
56. The computer controlled method of claim 45, wherein each entry in a first block-list represents at least one gob.
-
57. The computer controlled method of claim 45, wherein each entry in a first block-list represents at least one of said storage blocks.
-
58. The computer controlled method of claim 45, wherein said consistent source file system and the consistent destination file system are the same file system.
-
59. An apparatus having a central processing unit (CPU) and a memory coupled to said CPU for transferring data from a consistent source file system to a consistent destination file system each file system capable of storing said data in one or more storage blocks, said apparatus includes:
-
said consistent image stream writing mechanism configured to write an image stream from said consistent source file system to said consistent destination file system in accordance with a second storage block arrangement, a first storage block arrangement different from said second storage block arrangement, said data including one or more block number (BN) pointers; and
a swizzle mechanism configured to swizzle said BN pointers in said storage blocks of said consistent destination file system in accordance with said second storage block arrangement. - View Dependent Claims (60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72)
a BN block writing mechanism configured to write said storage blocks that contain said BN pointers in a first set of stripe bands; and
a data block writing mechanism configured to write said storage blocks that do not contain said BN pointers in a second set of stripe bands.
-
-
68. The apparatus of claim 59, wherein the swizzle mechanism further includes:
-
a logging mechanism configured to log information relating identifying the progress of the swizzle mechanism; and
a swizzle restart mechanism configured to resume operation of the swizzle mechanism responsive to the logging mechanism.
-
-
69. The apparatus of claim 59, wherein the swizzle mechanism operates at substantially the same time as the image stream writing mechanism.
-
70. The apparatus of claim 59, wherein each entry in a first block-list represents at least one gob.
-
71. The apparatus of claim 59, wherein each entry in a first block-list represents at least one of said storage blocks.
-
72. The apparatus of claim 59, wherein said consistent source file system and the consistent destination file system are the same file system.
-
73. A computer controlled system, having at least one central processing unit (CPU) and a memory coupled to said CPU, for transferring data from a consistent source file system to a consistent destination file system, each file system capable of storing said data in one or more storage blocks, said system includes:
-
an image stream generation mechanism configured to read said data from said consistent source file system in accordance with a first storage block arrangement to generate an image stream, said data including one or more block number (BN) pointers, the image stream generation mechanism using one or more of said at least one CPU;
an image stream writing mechanism configured to write said image stream to said consistent destination file system in accordance with a second storage block arrangement, said first storage block arrangement different from said second storage block arrangement, the image stream writing mechanism using one or more of said at least one CPU; and
a swizzle mechanism configured to swizzle said BN pointers in said storage blocks of said consistent destination file system in accordance with said second storage block arrangement, the swizzle mechanism using one or more of said at least one CPU. - View Dependent Claims (74, 75, 76, 77, 78)
-
-
79. A computer program product including
a computer usable storage medium having computer readable code embodied therein for causing a computer to transfer data from a consistent source file system to a consistent destination file system, each file system capable of storing said data in one or more storage blocks, said computer readable code including: -
computer readable program code configured to cause said computer to effect an image stream writing mechanism configured to write an image stream from said consistent source file system to said consistent destination file system in accordance with a second storage block arrangement, a first storage block arrangement different from said second storage block arrangement, said data including one or more block number (BN) pointers; and
computer readable program code configured to cause said computer to effect a swizzle mechanism configured to swizzle said BN pointers in said storage blocks of said consistent destination file system in accordance with said second storage block arrangement. - View Dependent Claims (80, 81, 82, 83, 84, 85, 86, 87, 88)
computer readable program code configured to cause said computer to effect a BN block writing mechanism configured to write said storage blocks that contain said BN pointers in a first set of stripe bands; and
computer readable program code configured to cause said computer to effect a data block writing mechanism configured to write said storage blocks that do not contain said BN pointers in a second set of stripe bands.
-
-
87. The computer program product of claim 79, wherein the swizzle mechanism further includes:
-
computer readable program code configured to cause said computer to effect a logging mechanism configured to log information relating identifying the progress of the swizzle mechanism; and
computer readable program code configured to cause said computer to effect a swizzle restart mechanism configured to resume operation of the swizzle mechanism responsive to the logging mechanism.
-
-
88. The computer program product of claim 79, wherein the swizzle mechanism operates at substantially the same time as the image stream writing mechanism.
Specification