[PATCH] btrfs: fix some error checking for btrfs_decompress()

Qu Wenruo quwenruo.btrfs at gmx.com
Thu Aug 3 12:36:46 CEST 2023



On 2023/8/3 18:29, Dan Carpenter wrote:
> The btrfs_decompress() function mostly (u32)-1 on error but it can
> also return -EPERM or other kernel error codes from zstd_decompress().
> The "ret" variable is an int, so we could just check for negatives.
>
> Signed-off-by: Dan Carpenter <dan.carpenter at linaro.org>

Reviewed-by: Qu Wenruo <wqu at suse.com>

Thanks,
Qu
> ---
>   fs/btrfs/inode.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
> index 38e285bf94b0..4691612eda33 100644
> --- a/fs/btrfs/inode.c
> +++ b/fs/btrfs/inode.c
> @@ -390,7 +390,7 @@ int btrfs_read_extent_inline(struct btrfs_path *path,
>   			   csize);
>   	ret = btrfs_decompress(btrfs_file_extent_compression(leaf, fi),
>   			       cbuf, csize, dbuf, dsize);
> -	if (ret == (u32)-1) {
> +	if (ret < 0) {
>   		ret = -EIO;
>   		goto out;
>   	}
> @@ -500,7 +500,7 @@ int btrfs_read_extent_reg(struct btrfs_path *path,
>
>   	ret = btrfs_decompress(btrfs_file_extent_compression(leaf, fi), cbuf,
>   			       csize, dbuf, dsize);
> -	if (ret == (u32)-1) {
> +	if (ret < 0) {
>   		ret = -EIO;
>   		goto out;
>   	}


More information about the U-Boot mailing list