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: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
Родитель
fc67c45083
Коммит
7738a53a3a
|
@ -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,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче