Message ID | 6f4bd25183fd8844b5592259971ed4e060d9018c.1663196541.git.josef@toxicpanda.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | btrfs: strip out btrfs_fs_info dependencies | expand |
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);
Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
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);
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> --- fs/btrfs/block-group.c | 3 ++- fs/btrfs/block-group.h | 8 ++++++++ fs/btrfs/ctree.h | 14 -------------- 3 files changed, 10 insertions(+), 15 deletions(-)