]> 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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 2 Nov 2025 13:18:04 +0000 (22:18 +0900)
[ Upstream commit 6cb7f0b8c9b0d6a35682335fea88bd26f089306f ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/btrfs/tree-log.c

index 518cd74191e77a4e94c8b0358c52e227ba85e2f2..4f92aa15d9b1d864c5fe159f436f682c3e2171fb 100644 (file)
@@ -2461,15 +2461,13 @@ static int replay_one_buffer(struct btrfs_root *log, struct extent_buffer *eb,
        int i;
        int ret;
 
+       if (level != 0)
+               return 0;
+
        ret = btrfs_read_extent_buffer(eb, &check);
        if (ret)
                return ret;
 
-       level = btrfs_header_level(eb);
-
-       if (level != 0)
-               return 0;
-
        path = btrfs_alloc_path();
        if (!path)
                return -ENOMEM;