btrfs: remove redundant record start offset check at test_range_bit()
authorFilipe Manana <fdmanana@suse.com>
Wed, 2 Apr 2025 13:10:53 +0000 (14:10 +0100)
committerDavid Sterba <dsterba@suse.com>
Thu, 15 May 2025 12:30:41 +0000 (14:30 +0200)
It's pointless to check if the current record's start offset is greater
than the end offset, as before we just tested if it was greater than the
start offset - and if it's not it means it's less than or equal to the
start offset, so it can not be greater than the end offset, as our start
offset is always smaller than the end offset.

So remove that check and also add an assertion to verify the start offset
is smaller then the end offset.

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/extent-io-tree.c

index b321f826d0086d9c91174350873f88027713f46b..d833ab2d69a1340e48fda527836c9e241b2e8ede 100644 (file)
@@ -1794,6 +1794,7 @@ bool test_range_bit(struct extent_io_tree *tree, u64 start, u64 end, u32 bit,
        bool bitset = true;
 
        ASSERT(is_power_of_2(bit));
+       ASSERT(start < end);
 
        spin_lock(&tree->lock);
        if (cached && extent_state_in_tree(cached) && cached->start <= start &&
@@ -1807,9 +1808,6 @@ bool test_range_bit(struct extent_io_tree *tree, u64 start, u64 end, u32 bit,
                        break;
                }
 
-               if (state->start > end)
-                       break;
-
                if ((state->state & bit) == 0) {
                        bitset = false;
                        break;