On Mon, 2023-06-12 at 12:26 +0200, Greg Kroah-Hartman wrote:
From: Josef Bacik josef@toxicpanda.com
commit fb686c6824dd6294ca772b92424b8fba666e7d00 upstream.
There are a few places where we don't check the return value of btrfs_commit_transaction in relocation.c. Thankfully all these places have straightforward error handling, so simply change all of the sites at once.
I have no objection to this, but in case anyone wants to fix this issue completely there are a few other unchecked btrfs_commit_transaction() calls in other source files in 4.19-stable.
Ben.
Reviewed-by: Qu Wenruo wqu@suse.com Signed-off-by: Josef Bacik josef@toxicpanda.com Reviewed-by: David Sterba dsterba@suse.com Signed-off-by: David Sterba dsterba@suse.com Signed-off-by: Stefan Ghinea stefan.ghinea@windriver.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
fs/btrfs/relocation.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
--- a/fs/btrfs/relocation.c +++ b/fs/btrfs/relocation.c @@ -2341,7 +2341,7 @@ again: list_splice(&reloc_roots, &rc->reloc_roots); if (!err)
btrfs_commit_transaction(trans);
else btrfs_end_transaction(trans); return err;err = btrfs_commit_transaction(trans);
@@ -3930,8 +3930,7 @@ int prepare_to_relocate(struct reloc_con */ return PTR_ERR(trans); }
- btrfs_commit_transaction(trans);
- return 0;
- return btrfs_commit_transaction(trans);
} static noinline_for_stack int relocate_block_group(struct reloc_control *rc) @@ -4097,7 +4096,9 @@ restart: err = PTR_ERR(trans); goto out_free; }
- btrfs_commit_transaction(trans);
- ret = btrfs_commit_transaction(trans);
- if (ret && !err)
err = ret;
out_free: btrfs_free_block_rsv(fs_info, rc->block_rsv); btrfs_free_path(path);