btrfs: stop searching for EXTENT_DIRTY bit in the excluded extents io tree
authorFilipe Manana <fdmanana@suse.com>
Fri, 28 Mar 2025 12:14:54 +0000 (12:14 +0000)
committerDavid Sterba <dsterba@suse.com>
Thu, 15 May 2025 12:30:39 +0000 (14:30 +0200)
At btrfs_add_new_free_space() we keep searching for ranges in the excluded
extents io tree that have the EXTENT_DIRTY bit set, however we never ever
set that bit for ranges in that tree. That is a leftover from when that
function used the global freed extents trees (fs_info->freed_extents[2]),
where we used both the EXTENT_DIRTY and EXTENT_UPTODATE bits, but those
trees are gone with commit fe119a6eeb67 ("btrfs: switch to per-transaction
pinned extents"), which introduced the fs_info->excluded_extents io tree,
where only EXTENT_UPTODATE is set.

So remove the EXTENT_DIRTY bit search at btrfs_add_new_free_space().

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 a8129f1ce78c7b05d5e25a77be77bcb264d9a436..8a02375f27e82cbe341f105e36b5b7aabf741c58 100644 (file)
@@ -527,8 +527,7 @@ int btrfs_add_new_free_space(struct btrfs_block_group *block_group, u64 start,
        while (start < end) {
                if (!find_first_extent_bit(&info->excluded_extents, start,
                                           &extent_start, &extent_end,
-                                          EXTENT_DIRTY | EXTENT_UPTODATE,
-                                          NULL))
+                                          EXTENT_UPTODATE, NULL))
                        break;
 
                if (extent_start <= start) {