Commit 8c3e3582 authored by David Sterba's avatar David Sterba

btrfs: use u8 for raid_array members

The raid_attr table is now 7 * 56 = 392 bytes long, consisting of just
small numbers so we don't have to use ints. New size is 7 * 32 = 224,
saving 3 cachelines.
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 946c9256
...@@ -3704,7 +3704,7 @@ int btrfs_get_num_tolerated_disk_barrier_failures(u64 flags) ...@@ -3704,7 +3704,7 @@ int btrfs_get_num_tolerated_disk_barrier_failures(u64 flags)
if ((flags & BTRFS_BLOCK_GROUP_PROFILE_MASK) == 0 || if ((flags & BTRFS_BLOCK_GROUP_PROFILE_MASK) == 0 ||
(flags & BTRFS_AVAIL_ALLOC_BIT_SINGLE)) (flags & BTRFS_AVAIL_ALLOC_BIT_SINGLE))
min_tolerated = min(min_tolerated, min_tolerated = min_t(int, min_tolerated,
btrfs_raid_array[BTRFS_RAID_SINGLE]. btrfs_raid_array[BTRFS_RAID_SINGLE].
tolerated_failures); tolerated_failures);
...@@ -3713,7 +3713,7 @@ int btrfs_get_num_tolerated_disk_barrier_failures(u64 flags) ...@@ -3713,7 +3713,7 @@ int btrfs_get_num_tolerated_disk_barrier_failures(u64 flags)
continue; continue;
if (!(flags & btrfs_raid_array[raid_type].bg_flag)) if (!(flags & btrfs_raid_array[raid_type].bg_flag))
continue; continue;
min_tolerated = min(min_tolerated, min_tolerated = min_t(int, min_tolerated,
btrfs_raid_array[raid_type]. btrfs_raid_array[raid_type].
tolerated_failures); tolerated_failures);
} }
......
...@@ -336,16 +336,16 @@ struct btrfs_device_info { ...@@ -336,16 +336,16 @@ struct btrfs_device_info {
}; };
struct btrfs_raid_attr { struct btrfs_raid_attr {
int sub_stripes; /* sub_stripes info for map */ u8 sub_stripes; /* sub_stripes info for map */
int dev_stripes; /* stripes per dev */ u8 dev_stripes; /* stripes per dev */
int devs_max; /* max devs to use */ u8 devs_max; /* max devs to use */
int devs_min; /* min devs needed */ u8 devs_min; /* min devs needed */
int tolerated_failures; /* max tolerated fail devs */ u8 tolerated_failures; /* max tolerated fail devs */
int devs_increment; /* ndevs has to be a multiple of this */ u8 devs_increment; /* ndevs has to be a multiple of this */
int ncopies; /* how many copies to data has */ u8 ncopies; /* how many copies to data has */
int nparity; /* number of stripes worth of bytes to store u8 nparity; /* number of stripes worth of bytes to store
* parity information */ * parity information */
int mindev_error; /* error code if min devs requisite is unmet */ u8 mindev_error; /* error code if min devs requisite is unmet */
const char raid_name[8]; /* name of the raid */ const char raid_name[8]; /* name of the raid */
u64 bg_flag; /* block group flag of the raid */ u64 bg_flag; /* block group flag of the raid */
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment