]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
btrfs: consolidate reclaim readiness checks in btrfs_should_reclaim()
authorSun YangKai <sunk67188@gmail.com>
Wed, 14 Jan 2026 03:47:03 +0000 (11:47 +0800)
committerDavid Sterba <dsterba@suse.com>
Tue, 3 Feb 2026 06:56:14 +0000 (07:56 +0100)
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>
fs/btrfs/block-group.c

index 6c6133584196b4990202103bb4d11afa89d5028d..022c77f8d0e2db2a0fba23f56293977062f74697 100644 (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;