summaryrefslogtreecommitdiff
path: root/fs/btrfs/volumes.c
diff options
context:
space:
mode:
authorDavid Sterba <dsterba@suse.com>2019-05-17 11:43:31 +0200
committerDavid Sterba <dsterba@suse.com>2019-07-01 13:34:57 +0200
commit44b28adafd1f814fbde8b53a99eee83f3b31b2d9 (patch)
tree312111c38de1ae8f9bc2c4b4ec2b23cc6feb4dca /fs/btrfs/volumes.c
parent6079e12cdb8f9afb02b9f4f3e4d13c076e1e99e9 (diff)
btrfs: use raid_attr table for btrfs_bg_type_to_factor
The factor is the number of copies. Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/volumes.c')
-rw-r--r--fs/btrfs/volumes.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 71add22e041a..bbc195c97c74 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -7586,10 +7586,9 @@ void btrfs_reset_fs_info_ptr(struct btrfs_fs_info *fs_info)
*/
int btrfs_bg_type_to_factor(u64 flags)
{
- if (flags & (BTRFS_BLOCK_GROUP_DUP | BTRFS_BLOCK_GROUP_RAID1 |
- BTRFS_BLOCK_GROUP_RAID10))
- return 2;
- return 1;
+ const int index = btrfs_bg_flags_to_raid_index(flags);
+
+ return btrfs_raid_array[index].ncopies;
}