btrfs: simplify last record detection at test_range_bit_exists()
authorFilipe Manana <fdmanana@suse.com>
Tue, 1 Apr 2025 11:27:38 +0000 (12:27 +0100)
committerDavid Sterba <dsterba@suse.com>
Thu, 15 May 2025 12:30:41 +0000 (14:30 +0200)
commit131a4be1c03705ec4d94fc191c7621039d7f26f1
treeb9b34d3d7a567168f922f24138257fdcccd52a4e
parentc4e33a8431cc1a4c87c9cdee427c60f40079eea5
btrfs: simplify last record detection at test_range_bit_exists()

Instead of keeping track of the minimum start offset of the next record
and detecting overflow every time we update that offset to be the sum of
current record's end offset plus one, we can simply exit when the current
record ends at or beyond our end offset and forget about updating the
start offset on every iteration and testing for it at the top of the loop.
This makes both the source code and assembly code simpler, more efficient
and shorter (reducing the object text size).

Also remove the pointless initialization to NULL of the state variable, as
we don't use it before the first assignment to it. This may help avoid
some warnings with clang tools such as the one reported/fixed by commit
966de47ff0c9 ("btrfs: remove redundant initialization of variables in
log_new_ancestors").

Reviewed-by: Boris Burkov <boris@bur.io>
Reviewed-by: Qu Wenruo <wqu@suse.com>
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