Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ed23467b authored by Anand Jain's avatar Anand Jain Committed by David Sterba
Browse files

btrfs: move btrfs_raid_type_names values to btrfs_raid_attr table



Add a new member struct btrfs_raid_attr::raid_name so that
btrfs_raid_array can maintain the name of the raid type, and so we can
drop btrfs_raid_type_names.

Signed-off-by: default avatarAnand Jain <anand.jain@oracle.com>
Reviewed-by: default avatarQu Wenruo <wqu@suse.com>
Reviewed-by: default avatarNikolay Borisov <nborisov@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent b5459936
Loading
Loading
Loading
Loading
+0 −18
Original line number Diff line number Diff line
@@ -7380,24 +7380,6 @@ wait_block_group_cache_done(struct btrfs_block_group_cache *cache)
	return ret;
}

static const char *btrfs_raid_type_names[BTRFS_NR_RAID_TYPES] = {
	[BTRFS_RAID_RAID10]	= "raid10",
	[BTRFS_RAID_RAID1]	= "raid1",
	[BTRFS_RAID_DUP]	= "dup",
	[BTRFS_RAID_RAID0]	= "raid0",
	[BTRFS_RAID_SINGLE]	= "single",
	[BTRFS_RAID_RAID5]	= "raid5",
	[BTRFS_RAID_RAID6]	= "raid6",
};

static const char *get_raid_name(enum btrfs_raid_types type)
{
	if (type >= BTRFS_NR_RAID_TYPES)
		return NULL;

	return btrfs_raid_type_names[type];
}

enum btrfs_loop_type {
	LOOP_CACHING_NOWAIT = 0,
	LOOP_CACHING_WAIT = 1,
+15 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ const struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = {
		.tolerated_failures = 1,
		.devs_increment	= 2,
		.ncopies	= 2,
		.raid_name	= "raid10",
	},
	[BTRFS_RAID_RAID1] = {
		.sub_stripes	= 1,
@@ -49,6 +50,7 @@ const struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = {
		.tolerated_failures = 1,
		.devs_increment	= 2,
		.ncopies	= 2,
		.raid_name	= "raid1",
	},
	[BTRFS_RAID_DUP] = {
		.sub_stripes	= 1,
@@ -58,6 +60,7 @@ const struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = {
		.tolerated_failures = 0,
		.devs_increment	= 1,
		.ncopies	= 2,
		.raid_name	= "dup",
	},
	[BTRFS_RAID_RAID0] = {
		.sub_stripes	= 1,
@@ -67,6 +70,7 @@ const struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = {
		.tolerated_failures = 0,
		.devs_increment	= 1,
		.ncopies	= 1,
		.raid_name	= "raid0",
	},
	[BTRFS_RAID_SINGLE] = {
		.sub_stripes	= 1,
@@ -76,6 +80,7 @@ const struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = {
		.tolerated_failures = 0,
		.devs_increment	= 1,
		.ncopies	= 1,
		.raid_name	= "single",
	},
	[BTRFS_RAID_RAID5] = {
		.sub_stripes	= 1,
@@ -85,6 +90,7 @@ const struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = {
		.tolerated_failures = 1,
		.devs_increment	= 1,
		.ncopies	= 2,
		.raid_name	= "raid5",
	},
	[BTRFS_RAID_RAID6] = {
		.sub_stripes	= 1,
@@ -94,9 +100,18 @@ const struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = {
		.tolerated_failures = 2,
		.devs_increment	= 1,
		.ncopies	= 3,
		.raid_name	= "raid6",
	},
};

const char *get_raid_name(enum btrfs_raid_types type)
{
	if (type >= BTRFS_NR_RAID_TYPES)
		return NULL;

	return btrfs_raid_array[type].raid_name;
}

const u64 btrfs_raid_group[BTRFS_NR_RAID_TYPES] = {
	[BTRFS_RAID_RAID10] = BTRFS_BLOCK_GROUP_RAID10,
	[BTRFS_RAID_RAID1]  = BTRFS_BLOCK_GROUP_RAID1,
+3 −0
Original line number Diff line number Diff line
@@ -329,6 +329,7 @@ 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 */
	const char raid_name[8]; /* name of the raid */
};

extern const struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES];
@@ -550,6 +551,8 @@ static inline enum btrfs_raid_types btrfs_bg_flags_to_raid_index(u64 flags)
	return BTRFS_RAID_SINGLE; /* BTRFS_BLOCK_GROUP_SINGLE */
}

const char *get_raid_name(enum btrfs_raid_types type);

void btrfs_update_commit_device_size(struct btrfs_fs_info *fs_info);
void btrfs_update_commit_device_bytes_used(struct btrfs_transaction *trans);