]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
btrfs: remove bogus root search condition in load_extent_tree_free()
authorFilipe Manana <fdmanana@suse.com>
Sun, 8 Feb 2026 18:42:13 +0000 (18:42 +0000)
committerDavid Sterba <dsterba@suse.com>
Tue, 7 Apr 2026 16:55:57 +0000 (18:55 +0200)
There's no need to pass the maximum between the block group's start offset
and BTRFS_SUPER_INFO_OFFSET (64K) since we can't have any block groups
allocated in the first megabyte, as that's reserved space. Furthermore,
even if we could, the correct thing to do was to pass the block group's
start offset anyway - and that's precisely what we do for block groups
hat happen to contain a superblock mirror (the range for the super block
is never marked as free and it's marked as dirty in the
fs_info->excluded_extents io tree).

So simplify this and get rid of that maximum expression.

Reviewed-by: Boris Burkov <boris@bur.io>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/block-group.c

index 9f4db25f7b86c2ed5b2b6690285c14443dcb1a77..d21df4446e3d8b2cdc5ad34728af5410a3c2d958 100644 (file)
@@ -728,7 +728,7 @@ static int load_extent_tree_free(struct btrfs_caching_control *caching_ctl)
        struct extent_buffer *leaf;
        struct btrfs_key key;
        u64 total_found = 0;
-       u64 last = 0;
+       u64 last = block_group->start;
        u32 nritems;
        int ret;
        bool wakeup = true;
@@ -737,7 +737,6 @@ static int load_extent_tree_free(struct btrfs_caching_control *caching_ctl)
        if (!path)
                return -ENOMEM;
 
-       last = max_t(u64, block_group->start, BTRFS_SUPER_INFO_OFFSET);
        extent_root = btrfs_extent_root(fs_info, last);
        if (unlikely(!extent_root)) {
                btrfs_err(fs_info,