]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
btrfs: use level argument in log tree walk callback replay_one_buffer()
authorFilipe Manana <fdmanana@suse.com>
Thu, 28 Aug 2025 16:46:18 +0000 (17:46 +0100)
committerDavid Sterba <dsterba@suse.com>
Tue, 23 Sep 2025 06:49:19 +0000 (08:49 +0200)
We already have the extent buffer's level in an argument, there's no need
to first ensure the extent buffer's data is loaded (by calling
btrfs_read_extent_buffer()) and then call btrfs_header_level() to check
the level. So use the level argument and do the check before calling
btrfs_read_extent_buffer().

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

index 166ceb003a1eb149e7cc803fc633f5a5192f5a0d..88e813bb28d8d38e90b1d105fe7713ee3b6c4ba2 100644 (file)
@@ -2591,17 +2591,15 @@ static int replay_one_buffer(struct extent_buffer *eb,
        int i;
        int ret;
 
+       if (level != 0)
+               return 0;
+
        ret = btrfs_read_extent_buffer(eb, &check);
        if (ret) {
                btrfs_abort_transaction(trans, ret);
                return ret;
        }
 
-       level = btrfs_header_level(eb);
-
-       if (level != 0)
-               return 0;
-
        path = btrfs_alloc_path();
        if (!path) {
                btrfs_abort_transaction(trans, -ENOMEM);