btrfs-progs: sync btrfs_raid_attr from kernel
The table has been updated, copy the changes so that we can utilize it for cleanups. Note, ncopies for raid5 and rai6 was wrong and is now correct. Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
a2ebaa9e83
commit
eb37e8212d
2 changed files with 35 additions and 2 deletions
32
volumes.c
32
volumes.c
|
@ -39,6 +39,10 @@ const struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = {
|
|||
.tolerated_failures = 1,
|
||||
.devs_increment = 2,
|
||||
.ncopies = 2,
|
||||
.nparity = 0,
|
||||
.raid_name = "raid10",
|
||||
.bg_flag = BTRFS_BLOCK_GROUP_RAID10,
|
||||
.mindev_error = BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET,
|
||||
},
|
||||
[BTRFS_RAID_RAID1] = {
|
||||
.sub_stripes = 1,
|
||||
|
@ -48,6 +52,10 @@ const struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = {
|
|||
.tolerated_failures = 1,
|
||||
.devs_increment = 2,
|
||||
.ncopies = 2,
|
||||
.nparity = 0,
|
||||
.raid_name = "raid1",
|
||||
.bg_flag = BTRFS_BLOCK_GROUP_RAID1,
|
||||
.mindev_error = BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET,
|
||||
},
|
||||
[BTRFS_RAID_DUP] = {
|
||||
.sub_stripes = 1,
|
||||
|
@ -57,6 +65,10 @@ const struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = {
|
|||
.tolerated_failures = 0,
|
||||
.devs_increment = 1,
|
||||
.ncopies = 2,
|
||||
.nparity = 0,
|
||||
.raid_name = "dup",
|
||||
.bg_flag = BTRFS_BLOCK_GROUP_DUP,
|
||||
.mindev_error = 0,
|
||||
},
|
||||
[BTRFS_RAID_RAID0] = {
|
||||
.sub_stripes = 1,
|
||||
|
@ -66,6 +78,10 @@ const struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = {
|
|||
.tolerated_failures = 0,
|
||||
.devs_increment = 1,
|
||||
.ncopies = 1,
|
||||
.nparity = 0,
|
||||
.raid_name = "raid0",
|
||||
.bg_flag = BTRFS_BLOCK_GROUP_RAID0,
|
||||
.mindev_error = 0,
|
||||
},
|
||||
[BTRFS_RAID_SINGLE] = {
|
||||
.sub_stripes = 1,
|
||||
|
@ -75,6 +91,10 @@ const struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = {
|
|||
.tolerated_failures = 0,
|
||||
.devs_increment = 1,
|
||||
.ncopies = 1,
|
||||
.nparity = 0,
|
||||
.raid_name = "single",
|
||||
.bg_flag = 0,
|
||||
.mindev_error = 0,
|
||||
},
|
||||
[BTRFS_RAID_RAID5] = {
|
||||
.sub_stripes = 1,
|
||||
|
@ -83,7 +103,11 @@ const struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = {
|
|||
.devs_min = 2,
|
||||
.tolerated_failures = 1,
|
||||
.devs_increment = 1,
|
||||
.ncopies = 2,
|
||||
.ncopies = 1,
|
||||
.nparity = 1,
|
||||
.raid_name = "raid5",
|
||||
.bg_flag = BTRFS_BLOCK_GROUP_RAID5,
|
||||
.mindev_error = BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET,
|
||||
},
|
||||
[BTRFS_RAID_RAID6] = {
|
||||
.sub_stripes = 1,
|
||||
|
@ -92,7 +116,11 @@ const struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = {
|
|||
.devs_min = 3,
|
||||
.tolerated_failures = 2,
|
||||
.devs_increment = 1,
|
||||
.ncopies = 3,
|
||||
.ncopies = 1,
|
||||
.nparity = 2,
|
||||
.raid_name = "raid6",
|
||||
.bg_flag = BTRFS_BLOCK_GROUP_RAID6,
|
||||
.mindev_error = BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET,
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -120,6 +120,11 @@ struct btrfs_raid_attr {
|
|||
int tolerated_failures; /* max tolerated fail devs */
|
||||
int devs_increment; /* ndevs has to be a multiple of this */
|
||||
int ncopies; /* how many copies to data has */
|
||||
int nparity; /* number of stripes worth of bytes to store
|
||||
* parity information */
|
||||
int mindev_error; /* error code if min devs requisite is unmet */
|
||||
const char raid_name[8]; /* name of the raid */
|
||||
u64 bg_flag; /* block group flag of the raid */
|
||||
};
|
||||
|
||||
extern const struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES];
|
||||
|
|
Loading…
Reference in a new issue