Claims
- 1. A computer controlled method for swizzling one or more block number (BN) pointers in a file system, said method including steps of:
determining existing values for said BN pointers; determining new values for said BN pointers responsive to a destination file system having one or more storage blocks; and updating said BN pointers with said new values responsive to the location of said storage blocks on said destination file system.
- 2. 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.
- 3. The computer controlled method of claim 2, wherein the step of swizzling is responsive to at least one block-type bit to determine which of said storage blocks to swizzle.
- 4. The computer controlled method of claim 2, wherein each of said BN pointers is within a volume block number space.
- 5. The computer controlled method of claim 2, further including reading said data from said source file system in accordance with said first storage block arrangement to generate said image stream.
- 6. The computer controlled method of claim 5, wherein the step of reading further includes a step of including a first block-list in said image stream.
- 7. The computer controlled method of claim 5, wherein the step of reading further includes a step of including a second block-list in said image stream.
- 8. The computer controlled method of claim 5, wherein the step of reading further includes generating said image stream in accordance to a normal-form block-list.
- 9. The computer controlled method of claim 2, wherein the step of swizzling is performed after said image stream is written to said destination file system.
- 10. The computer controlled method of claim 9, wherein the step of writing said image stream further includes steps of:
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.
- 11. The computer controlled method of claim 2, 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.
- 12. The computer controlled method of claim 2, wherein the step of swizzling is performed while said image stream is being written to said destination file system.
- 13. The computer controlled method of claim 2, wherein each entry in a first block-list represents at least one gob.
- 14. The computer controlled method of claim 2, wherein each entry in a first block-list represents at least one of said storage blocks.
- 15. The computer controlled method of claim 2, wherein said source file system and the destination file system are the same file system.
- 16. 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.
- 17. The apparatus of claim 16, wherein each of said BN pointers is within a volume block number space.
- 18. The apparatus of claim 16, wherein the swizzle mechanism further is responsive to at least one block-type bit to determine which of said storage blocks to swizzle.
- 19. The apparatus of claim 16, further including an image stream generation mechanism configured to read said data from said source file system in accordance with said first storage block arrangement to generate said image stream.
- 20. The apparatus of claim 19, wherein the image stream generation mechanism further includes a block-list generation mechanism configured to generate a block-list for use with said image stream.
- 21. The apparatus of claim 20, wherein the image stream generation mechanism includes said block-list within said image stream.
- 22. The apparatus of claim 20, wherein said block-list is a normal-form block-list.
- 23. The apparatus of claim 16, wherein the swizzle mechanism operates after said image stream is written to said destination file system by the image stream writing mechanism.
- 24. The apparatus of claim 23, wherein the image stream writing mechanism further includes:
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.
- 25. The apparatus of claim 16, 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.
- 26. The apparatus of claim 16, wherein the swizzle mechanism operates at substantially the same time as the image stream writing mechanism.
- 27. The apparatus of claim 16, wherein each entry in a first block-list represents at least one gob.
- 28. The apparatus of claim 16, wherein each entry in a first block-list represents at least one of said storage blocks.
- 29. The apparatus of claim 16, wherein said source file system and the destination file system are the same file system.
- 30. 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.
- 31. The computer controlled system of claim 30, wherein each of the mechanisms use the same CPU of one or more of said at least one CPU.
- 32. The computer controlled system of claim 30, wherein one of the mechanisms use a different CPU of one or more of said at least one CPU from the CPU used by one or more of the other mechanisms.
- 33. The computer controlled system of claim 30, wherein each entry in a first block-list represents at least one gob.
- 34. The computer controlled system of claim 30, wherein each entry in a first block-list represents at least one of said storage blocks.
- 35. The computer controlled system of claim 30, wherein said source file system and the destination file system are the same file system.
- 36. 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.
- 37. The computer program product of claim 36, wherein the swizzle mechanism further is responsive to at least one block-type bit to determine which of said storage blocks to swizzle.
- 38. The computer program product of claim 36, further including computer readable program code configured to cause said computer to effect an image stream generation mechanism configured to read said data from said source file system in accordance with said first storage block arrangement to generate said image stream.
- 39. The computer program product of claim 38, wherein the image stream generation mechanism further includes computer readable program code configured to cause said computer to effect a block-list generation mechanism configured to generate a first block-list for use with said image stream.
- 40. The computer program product of claim 39, wherein the image stream generation mechanism includes said first block-list within said image stream.
- 41. The computer program product of claim 39, wherein said first block-list is a normal-form block-list.
- 42. The computer program product of claim 36, wherein the swizzle mechanism operates after said image stream is written to said destination file system by the image stream writing mechanism.
- 43. The computer program product of claim 42, wherein the image stream writing mechanism further includes:
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.
- 44. The computer program product of claim 36, 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.
- 45. The computer program product of claim 36, wherein the swizzle mechanism operates at substantially the same time as the image stream writing mechanism.
Parent Case Info
[0001] This application is a continuation of prior co-pending U.S. patent application Ser. No. 09/127,497, entitled: File System Image Transfer, by Steve Kleiman et al., filed Jul. 31, 1998 having attorney docket number NAP-013 hereby incorporated by reference in its entirety.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09426409 |
Oct 1999 |
US |
Child |
10452795 |
Jun 2003 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09127497 |
Jul 1998 |
US |
Child |
09426409 |
Oct 1999 |
US |