From: Filipe Manana Date: Tue, 26 Aug 2025 16:30:16 +0000 (+0100) Subject: btrfs: deduplicate log root free in error paths from btrfs_recover_log_trees() X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=7f09699e5e6127db7bcb6d49d8fc674a74f23659;p=users%2Fhch%2Fmisc.git btrfs: deduplicate log root free in error paths from btrfs_recover_log_trees() Instead of duplicating the dropping of a log tree in case we jump to the 'error' label, move the dropping under the 'error' label and get rid of the the unnecessary setting of the log root to NULL since we return immediately after. 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 7d1b21df698d..f039f0613a38 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c @@ -7491,8 +7491,6 @@ again: ret = PTR_ERR(wc.root); wc.root = NULL; if (ret != -ENOENT) { - btrfs_put_root(wc.log); - wc.log = NULL; btrfs_abort_transaction(trans, ret); goto error; } @@ -7510,8 +7508,6 @@ again: */ ret = btrfs_pin_extent_for_log_replay(trans, wc.log->node); if (ret) { - btrfs_put_root(wc.log); - wc.log = NULL; btrfs_abort_transaction(trans, ret); goto error; } @@ -7597,6 +7593,7 @@ next: error: if (wc.trans) btrfs_end_transaction(wc.trans); + btrfs_put_root(wc.log); clear_bit(BTRFS_FS_LOG_RECOVERING, &fs_info->flags); btrfs_free_path(path); return ret;