Methods and apparatus for changing versions of a filesystem
First Claim
Patent Images
1. A method for converting a first filesystem in a network storage server to a second filesystem, the method comprising:
- generating, in response to an upgrade or revert command from a transformer module to convert a requested portion of the first filesystem, a new logical data structure representing a new logical organization of physical storage resources of the network storage server for the second filesystem in free space of an original logical data structure representing an original logical organization of the physical storage resources associated with the first filesystem in the network storage server, the first filesystem and second filesystem each including a set of procedures by which the network storage server can manage data storage, the second filesystem storing and managing units of user data in data blocks that are a smallest unit of user data that can be independently manipulated by the second filesystem, the original logical data structure formatted according to a first format corresponding to the first filesystem, the new logical data structure formatted according to a second format corresponding to the second filesystem;
determining the data block size of the first filesystem and the data block size of the second filesystem, wherein the second format corresponding to the second filesystem has a data block size that is larger than a data block size of the first format corresponding to the first filesystem, or has a data block size that is not an exact multiple of the data block size of the first format, or both;
in response to determining the data block size of the second filesystem is an exact multiple of the data block size of the first filesystem, adjusting the storage of the data block of the first system into a compatible multiple of data blocks of the second filesystem;
in response to determining the data block size of the second filesystem is not an exact multiple of the data block size of the first filesystem, copying data from the first filesystem space to the second filesystem; and
incorporating data from the original logical data structure into the new logical data structure in the second format to convert the first filesystem to the second filesystem, wherein the second filesystem is of a different filesystem version or filesystem type from the first filesystem, and wherein the second filesystem is available to serve data requests during the incorporating.
3 Assignments
0 Petitions
Accused Products
Abstract
A filesystem can be converted to a different version by creating a new data structure according to a new format of the different version and transforming the data from the filesystem to the new data structure. Transforming the data can include changing the format of the data in the filesystem to be compatible with the new data structure format. The data may be incorporated into the new data structure by copying the data, or creating indirect reference mechanisms to point to the original data.
-
Citations
26 Claims
-
1. A method for converting a first filesystem in a network storage server to a second filesystem, the method comprising:
-
generating, in response to an upgrade or revert command from a transformer module to convert a requested portion of the first filesystem, a new logical data structure representing a new logical organization of physical storage resources of the network storage server for the second filesystem in free space of an original logical data structure representing an original logical organization of the physical storage resources associated with the first filesystem in the network storage server, the first filesystem and second filesystem each including a set of procedures by which the network storage server can manage data storage, the second filesystem storing and managing units of user data in data blocks that are a smallest unit of user data that can be independently manipulated by the second filesystem, the original logical data structure formatted according to a first format corresponding to the first filesystem, the new logical data structure formatted according to a second format corresponding to the second filesystem; determining the data block size of the first filesystem and the data block size of the second filesystem, wherein the second format corresponding to the second filesystem has a data block size that is larger than a data block size of the first format corresponding to the first filesystem, or has a data block size that is not an exact multiple of the data block size of the first format, or both; in response to determining the data block size of the second filesystem is an exact multiple of the data block size of the first filesystem, adjusting the storage of the data block of the first system into a compatible multiple of data blocks of the second filesystem; in response to determining the data block size of the second filesystem is not an exact multiple of the data block size of the first filesystem, copying data from the first filesystem space to the second filesystem; and incorporating data from the original logical data structure into the new logical data structure in the second format to convert the first filesystem to the second filesystem, wherein the second filesystem is of a different filesystem version or filesystem type from the first filesystem, and wherein the second filesystem is available to serve data requests during the incorporating. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 21, 22, 26)
-
-
11. An article of manufacture comprising a machine-accessible storage medium storing content to provide instructions, which when executed result in a machine performing a process including:
-
creating, in response to an upgrade or revert command from a transformer module to convert a requested portion of an original filesystem, a new filesystem in free space of the original filesystem including building in the free space one or more logical data structures representing a logical organization of physical storage resources, the original filesystem and new filesystem each including a set of procedures by which a processing device can manage data storage, the new filesystem stores and manages units of user data in data blocks that are a smallest unit of user data that can be independently manipulated by the new filesystem, the new filesystem having a new format different from the original filesystem to manage data access to the free space in accordance with the new format of the new filesystem; determining the data block size of the original filesystem and the data block size of the new filesystem, the new format having a data block size that is larger than a data block size of an original format of the original filesystem, or having a data block size that is not an exact multiple of the data block size of the original format, or both; in response to determining the data block size of the new filesystem is an exact multiple of the data block size of the original filesystem, adjusting the storage of the data block of the first system into a compatible multiple of data blocks of the new filesystem; and in response to determining the data block size of the new filesystem is not an exact multiple of the data block size of the original filesystem, iteratively copying data of the original filesystem, converting the data to the new format of the new filesystem, and incorporating the data from the original filesystem into the free space managed by the new filesystem. - View Dependent Claims (12, 13, 14, 23)
-
-
15. A storage server comprising:
-
an original filesystem having an original virtual data structure representing an original grouping of physical storage resources of the storage server, the original filesystem having free space and an original kernel providing an original format and organization standards of the original filesystem; a new filesystem having a new virtual data structure representing a new grouping of the physical storage resources of the storage server, the new filesystem having a new format and configured to store and manage units of data in data blocks that are a smallest unit of user data that can be independently manipulated by the new filesystem, the new filesystem located in the new virtual data structure in the free space of the original filesystem, and the new format having a data block size that is larger than a data block size of the original format, or having a data block size that is not an exact multiple of the data block size of the original format, or both; and a transformer module to generate an upgrade or revert command to convert a requested portion of the original filesystem to the new filesystem, to generate the new filesystem and to transform the data from the original virtual data structure of the original filesystem into the new virtual data structure according to the new format by determining the data block size of the original filesystem and the data block size of the new filesystem, and in response to determining the data block size of the new filesystem is an exact multiple of the data block size of the first filesystem, adjusting the data block of the original system into a compatible multiple of data blocks of the new filesystem, and in response to determining the data block size of the new filesystem is not an exact multiple of the data block size of the original filesystem, copying data from the original filesystem space to the second filesystem space, the original filesystem and new filesystem each including a mechanism by which the storage server can manage data storage, wherein the storage server is configured to make available the new filesystem to serve data requests during the transforming. - View Dependent Claims (16, 17, 18, 19, 24, 25)
-
Specification