From: Filipe Manana Date: Thu, 28 Aug 2025 16:46:18 +0000 (+0100) Subject: btrfs: use level argument in log tree walk callback replay_one_buffer() X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=6cb7f0b8c9b0d6a35682335fea88bd26f089306f;p=users%2Fhch%2Fmisc.git btrfs: use level argument in log tree walk callback replay_one_buffer() 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 Reviewed-by: David Sterba Signed-off-by: David Sterba --- diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c index 166ceb003a1e..88e813bb28d8 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c @@ -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);