Re: [PATCH 4.19 21/23] btrfs: check return value of btrfs_commit_transaction in relocation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux