Commit 7738a53a authored by Ilya Dryomov's avatar Ilya Dryomov

Btrfs: add __get_block_group_index() helper

Add __get_block_group_index() helper to be able to derive block group
index from an arbitary set of flags.  Implement get_block_group_index()
in terms of it.
Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
parent fc67c450
...@@ -5248,22 +5248,29 @@ wait_block_group_cache_done(struct btrfs_block_group_cache *cache) ...@@ -5248,22 +5248,29 @@ wait_block_group_cache_done(struct btrfs_block_group_cache *cache)
return 0; return 0;
} }
static int get_block_group_index(struct btrfs_block_group_cache *cache) static int __get_block_group_index(u64 flags)
{ {
int index; int index;
if (cache->flags & BTRFS_BLOCK_GROUP_RAID10)
if (flags & BTRFS_BLOCK_GROUP_RAID10)
index = 0; index = 0;
else if (cache->flags & BTRFS_BLOCK_GROUP_RAID1) else if (flags & BTRFS_BLOCK_GROUP_RAID1)
index = 1; index = 1;
else if (cache->flags & BTRFS_BLOCK_GROUP_DUP) else if (flags & BTRFS_BLOCK_GROUP_DUP)
index = 2; index = 2;
else if (cache->flags & BTRFS_BLOCK_GROUP_RAID0) else if (flags & BTRFS_BLOCK_GROUP_RAID0)
index = 3; index = 3;
else else
index = 4; index = 4;
return index; return index;
} }
static int get_block_group_index(struct btrfs_block_group_cache *cache)
{
return __get_block_group_index(cache->flags);
}
enum btrfs_loop_type { enum btrfs_loop_type {
LOOP_CACHING_NOWAIT = 0, LOOP_CACHING_NOWAIT = 0,
LOOP_CACHING_WAIT = 1, LOOP_CACHING_WAIT = 1,
......
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