From bd0ffde1d31e96a19ad50ab455285202b619614f Mon Sep 17 00:00:00 2001 From: Johannes Thumshirn Date: Thu, 5 Mar 2026 11:06:43 +0100 Subject: [PATCH] btrfs: create btrfs_reclaim_block_groups() Create a function btrfs_reclaim_block_groups() that gets called from the block-group reclaim worker. This allows creating synchronous block_group reclaim later on. Reviewed-by: Damien Le Moal Reviewed-by: Boris Burkov Signed-off-by: Johannes Thumshirn Signed-off-by: David Sterba --- fs/btrfs/block-group.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c index 4df076bd93f5..72fc9b3b6dc0 100644 --- a/fs/btrfs/block-group.c +++ b/fs/btrfs/block-group.c @@ -2040,10 +2040,8 @@ static int btrfs_reclaim_block_group(struct btrfs_block_group *bg) return ret; } -void btrfs_reclaim_bgs_work(struct work_struct *work) +static void btrfs_reclaim_block_groups(struct btrfs_fs_info *fs_info) { - struct btrfs_fs_info *fs_info = - container_of(work, struct btrfs_fs_info, reclaim_bgs_work); struct btrfs_block_group *bg; struct btrfs_space_info *space_info; LIST_HEAD(retry_list); @@ -2111,6 +2109,14 @@ void btrfs_reclaim_bgs_work(struct work_struct *work) btrfs_exclop_finish(fs_info); } +void btrfs_reclaim_bgs_work(struct work_struct *work) +{ + struct btrfs_fs_info *fs_info = + container_of(work, struct btrfs_fs_info, reclaim_bgs_work); + + btrfs_reclaim_block_groups(fs_info); +} + void btrfs_reclaim_bgs(struct btrfs_fs_info *fs_info) { btrfs_reclaim_sweep(fs_info);