On Mon, 2023-06-12 at 12:26 +0200, Greg Kroah-Hartman wrote: > From: Josef Bacik <josef@xxxxxxxxxxxxxx> > > 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@xxxxxxxx> > Signed-off-by: Josef Bacik <josef@xxxxxxxxxxxxxx> > Reviewed-by: David Sterba <dsterba@xxxxxxxx> > Signed-off-by: David Sterba <dsterba@xxxxxxxx> > Signed-off-by: Stefan Ghinea <stefan.ghinea@xxxxxxxxxxxxx> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > --- > 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); > + err = btrfs_commit_transaction(trans); > else > btrfs_end_transaction(trans); > return err; > @@ -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); > > -- Ben Hutchings It's easier to fight for one's principles than to live up to them.
Attachment:
signature.asc
Description: This is a digitally signed message part