Invulnerable data movement for file system upgrade
First Claim
1. A method of converting a first file system that abstracts a plurality of physical storage devices as a single first virtual device in a logical contiguous linear address space having one first blockset that includes a plurality of blocks, into a second file system that abstracts groups of said plurality of physical storage devices as multiple second virtual devices, comprising:
- partitioning said first blockset at boundaries of said groups of said physical storage devices into a plurality of separate independent second blocksets, each second blockset having an independent logical address space and corresponding to one storage group of said physical storage devices;
migrating data from source blocks of said first blockset for each of said one storage groups of physical storage devices to target blocks of a corresponding second blockset of each of said one storage groups;
updating metadata in headers of target blocks of said second blocksets according to locations of said target blocks in said second blocksets; and
rebuilding said first file system as said second file system by abstracting said storage groups of physical storage devices and their corresponding second blocksets as separate virtual storage devices.
9 Assignments
0 Petitions
Accused Products
Abstract
A single virtual storage device file system that abstracts multiple RAID groups of physical storage devices into one virtual device and one first blockset having a plurality of data blocks in a contiguous linear address space is converted into a multiple virtual device file system that abstracts the multiple RAID groups of physical storage devices as separate multiple virtual storage devices each having a separate second blockset and address space, by migrating data in allocated blocks at boundaries of the physical storage device groups to free blocks, partitioning the first blockset at the boundaries into the multiple second blocksets, updating the block metadata of each block, and rebuilding the file system using the block metadata to generate second blockset metadata.
25 Citations
17 Claims
-
1. A method of converting a first file system that abstracts a plurality of physical storage devices as a single first virtual device in a logical contiguous linear address space having one first blockset that includes a plurality of blocks, into a second file system that abstracts groups of said plurality of physical storage devices as multiple second virtual devices, comprising:
-
partitioning said first blockset at boundaries of said groups of said physical storage devices into a plurality of separate independent second blocksets, each second blockset having an independent logical address space and corresponding to one storage group of said physical storage devices; migrating data from source blocks of said first blockset for each of said one storage groups of physical storage devices to target blocks of a corresponding second blockset of each of said one storage groups; updating metadata in headers of target blocks of said second blocksets according to locations of said target blocks in said second blocksets; and rebuilding said first file system as said second file system by abstracting said storage groups of physical storage devices and their corresponding second blocksets as separate virtual storage devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of converting a first file system that abstracts a plurality of physical storage devices as a single virtual device in a logical contiguous linear address space comprising one first blockset that includes a plurality of blocks into a second file system that abstracts said plurality of physical storage devices as multiple separate virtual devices, each separate virtual device having its own separate second blockset and logical address space, comprising:
-
identifying in said first blockset a boundary between first and second groups of said plurality of physical storage devices, which groups respectively comprise first and second storage groups; determining an amount of space required for second blockset metadata of a new second blockset associated with said first storage group; migrating data in allocated blocks at said boundary to unallocated blocks in said first blockset to free a number of blocks at said boundary that is necessary to provide said space required for said second blockset metadata; updating block metadata in headers of blocks of said first blockset that contain data of said first storage group according to locations of said blocks in said second blockset; and rebuilding said first file system to convert the first file system to said second file system. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
Specification