btrfs: consolidate reclaim readiness checks in btrfs_should_reclaim()

Move the filesystem state validation from btrfs_reclaim_bgs_work() into
btrfs_should_reclaim() to centralize the reclaim eligibility logic.
Since it is the only caller of btrfs_should_reclaim(), there's no
functional change.

Reviewed-by: Boris Burkov <boris@bur.io>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Sun YangKai <sunk67188@gmail.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Sun YangKai 2026-01-14 11:47:03 +08:00 committed by David Sterba
parent 19eff93dc7
commit 4b7ecd0984

View File

@ -1822,6 +1822,12 @@ static int reclaim_bgs_cmp(void *unused, const struct list_head *a,
static inline bool btrfs_should_reclaim(const struct btrfs_fs_info *fs_info)
{
if (!test_bit(BTRFS_FS_OPEN, &fs_info->flags))
return false;
if (btrfs_fs_closing(fs_info))
return false;
if (btrfs_is_zoned(fs_info))
return btrfs_zoned_should_reclaim(fs_info);
return true;
@ -1856,12 +1862,6 @@ void btrfs_reclaim_bgs_work(struct work_struct *work)
struct btrfs_space_info *space_info;
LIST_HEAD(retry_list);
if (!test_bit(BTRFS_FS_OPEN, &fs_info->flags))
return;
if (btrfs_fs_closing(fs_info))
return;
if (!btrfs_should_reclaim(fs_info))
return;