summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilipe Manana <fdmanana@suse.com>2025-08-28 17:46:18 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-11-02 22:14:40 +0900
commit93bcd360c503e3d938c73bc6137b570410fb8091 (patch)
treecc3de4199d1eb75f0f3a0f14ac7847698626333d
parentef64d81fb7ddd4a4092cb6be6045e142f49e5efc (diff)
downloadlinux-93bcd360c503e3d938c73bc6137b570410fb8091.tar.gz
linux-93bcd360c503e3d938c73bc6137b570410fb8091.tar.bz2
linux-93bcd360c503e3d938c73bc6137b570410fb8091.zip
btrfs: use level argument in log tree walk callback replay_one_buffer()
[ 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>
-rw-r--r--fs/btrfs/tree-log.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
index e00298c6c30a..5512991b24fa 100644
--- a/fs/btrfs/tree-log.c
+++ b/fs/btrfs/tree-log.c
@@ -2493,15 +2493,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;