Re: [PATCH 02/15] btrfs: move btrfs_full_stripe_locks_tree into block-group.h

Anand Jain
2022-09-15T06:10:38Z

On 15/09/2022 07:04, Josef Bacik wrote:
> This is actually embedded in struct btrfs_block_group, so move this
> definition to block-group.h, and then open-code the init of the tree
> where we init the rest of the block group instead of using a helper.
>
> Signed-off-by: Josef Bacik <josef@toxicpanda.com>

Reviewed-by: Anand Jain <anand.jain@oracle.com>

> ---
> fs/btrfs/block-group.c | 3 ++-
> fs/btrfs/block-group.h | 8 ++++++++
> fs/btrfs/ctree.h | 14 --------------
> 3 files changed, 10 insertions(+), 15 deletions(-)
>
> diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c
> index 20da92ae5c6b..e21382a13fe4 100644
> --- a/fs/btrfs/block-group.c
> +++ b/fs/btrfs/block-group.c
> @@ -1940,7 +1940,8 @@ static struct btrfs_block_group *btrfs_create_block_group_cache(
> btrfs_init_free_space_ctl(cache, cache->free_space_ctl);
> atomic_set(&cache->frozen, 0);
> mutex_init(&cache->free_space_lock);
> - btrfs_init_full_stripe_locks_tree(&cache->full_stripe_locks_root);
> + cache->full_stripe_locks_root.root = RB_ROOT;
> + mutex_init(&cache->full_stripe_locks_root.lock);
>
> return cache;
> }
> diff --git a/fs/btrfs/block-group.h b/fs/btrfs/block-group.h
> index 558fa0a21fb4..6c970a486b68 100644
> --- a/fs/btrfs/block-group.h
> +++ b/fs/btrfs/block-group.h
> @@ -76,6 +76,14 @@ struct btrfs_caching_control {
> /* Once caching_thread() finds this much free space, it will wake up waiters. */
> #define CACHING_CTL_WAKE_UP SZ_2M
>
> +/*
> + * Tree to record all locked full stripes of a RAID5/6 block group
> + */
> +struct btrfs_full_stripe_locks_tree {
> + struct rb_root root;
> + struct mutex lock;
> +};
> +
> struct btrfs_block_group {
> struct btrfs_fs_info *fs_info;
> struct inode *inode;
> diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
> index 725c187d5c4b..12d626e78182 100644
> --- a/fs/btrfs/ctree.h
> +++ b/fs/btrfs/ctree.h
> @@ -180,14 +180,6 @@ struct btrfs_free_cluster {
> struct list_head block_group_list;
> };
>
> -/*
> - * Tree to record all locked full stripes of a RAID5/6 block group
> - */
> -struct btrfs_full_stripe_locks_tree {
> - struct rb_root root;
> - struct mutex lock;
> -};
> -
> /* Discard control. */
> /*
> * Async discard uses multiple lists to differentiate the discard filter
> @@ -1944,12 +1936,6 @@ int btrfs_scrub_cancel(struct btrfs_fs_info *info);
> int btrfs_scrub_cancel_dev(struct btrfs_device *dev);
> int btrfs_scrub_progress(struct btrfs_fs_info *fs_info, u64 devid,
> struct btrfs_scrub_progress *progress);
> -static inline void btrfs_init_full_stripe_locks_tree(
> - struct btrfs_full_stripe_locks_tree *locks_root)
> -{
> - locks_root->root = RB_ROOT;
> - mutex_init(&locks_root->lock);
> -}
>
> /* dev-replace.c */
> void btrfs_bio_counter_inc_blocked(struct btrfs_fs_info *fs_info);