btrfs: add and use helper to check if block group is used
Add a helper function to determine if a block group is being used and make use of it at btrfs_delete_unused_bgs(). This helper will also be used in future code changes. Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Josef Bacik <josef@toxicpanda.com> Reviewed-by: Boris Burkov <boris@bur.io> Signed-off-by: Filipe Manana <fdmanana@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
5571e41ec6
commit
1693d5442c
@ -1512,8 +1512,7 @@ void btrfs_delete_unused_bgs(struct btrfs_fs_info *fs_info)
|
||||
}
|
||||
|
||||
spin_lock(&block_group->lock);
|
||||
if (block_group->reserved || block_group->pinned ||
|
||||
block_group->used || block_group->ro ||
|
||||
if (btrfs_is_block_group_used(block_group) || block_group->ro ||
|
||||
list_is_singular(&block_group->list)) {
|
||||
/*
|
||||
* We want to bail if we made new allocations or have
|
||||
|
@ -257,6 +257,13 @@ static inline u64 btrfs_block_group_end(struct btrfs_block_group *block_group)
|
||||
return (block_group->start + block_group->length);
|
||||
}
|
||||
|
||||
static inline bool btrfs_is_block_group_used(const struct btrfs_block_group *bg)
|
||||
{
|
||||
lockdep_assert_held(&bg->lock);
|
||||
|
||||
return (bg->used > 0 || bg->reserved > 0 || bg->pinned > 0);
|
||||
}
|
||||
|
||||
static inline bool btrfs_is_block_group_data_only(
|
||||
struct btrfs_block_group *block_group)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user