Message ID | 20230301134244.1378533-4-hch@lst.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [01/10] btrfs: remove unused members from struct btrfs_encoded_read_private | expand |
Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
On 2023/3/1 21:42, Christoph Hellwig wrote: > All algorithms have to fill the remainder of the orig_bio with zeroes, > so do it in common code. > > Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Qu Wenruo <wqu@suse.com> Thanks, Qu > --- > fs/btrfs/compression.c | 2 ++ > fs/btrfs/lzo.c | 14 +++++--------- > fs/btrfs/zlib.c | 2 -- > fs/btrfs/zstd.c | 1 - > 4 files changed, 7 insertions(+), 12 deletions(-) > > diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c > index 5b1de1c19991e9..64c804dc3962f6 100644 > --- a/fs/btrfs/compression.c > +++ b/fs/btrfs/compression.c > @@ -965,6 +965,8 @@ static int btrfs_decompress_bio(struct compressed_bio *cb) > ret = compression_decompress_bio(workspace, cb); > put_workspace(type, workspace); > > + if (!ret) > + zero_fill_bio(cb->orig_bio); > return ret; > } > > diff --git a/fs/btrfs/lzo.c b/fs/btrfs/lzo.c > index dc66ee98989e90..3a095b9c6373ea 100644 > --- a/fs/btrfs/lzo.c > +++ b/fs/btrfs/lzo.c > @@ -389,8 +389,7 @@ int lzo_decompress_bio(struct list_head *ws, struct compressed_bio *cb) > */ > btrfs_err(fs_info, "unexpectedly large lzo segment len %u", > seg_len); > - ret = -EIO; > - goto out; > + return -EIO; > } > > /* Copy the compressed segment payload into workspace */ > @@ -401,8 +400,7 @@ int lzo_decompress_bio(struct list_head *ws, struct compressed_bio *cb) > workspace->buf, &out_len); > if (ret != LZO_E_OK) { > btrfs_err(fs_info, "failed to decompress"); > - ret = -EIO; > - goto out; > + return -EIO; > } > > /* Copy the data into inode pages */ > @@ -411,7 +409,7 @@ int lzo_decompress_bio(struct list_head *ws, struct compressed_bio *cb) > > /* All data read, exit */ > if (ret == 0) > - goto out; > + return 0; > ret = 0; > > /* Check if the sector has enough space for a segment header */ > @@ -422,10 +420,8 @@ int lzo_decompress_bio(struct list_head *ws, struct compressed_bio *cb) > /* Skip the padding zeros */ > cur_in += sector_bytes_left; > } > -out: > - if (!ret) > - zero_fill_bio(cb->orig_bio); > - return ret; > + > + return 0; > } > > int lzo_decompress(struct list_head *ws, const u8 *data_in, > diff --git a/fs/btrfs/zlib.c b/fs/btrfs/zlib.c > index da7bb9187b68a3..8acb05e176c540 100644 > --- a/fs/btrfs/zlib.c > +++ b/fs/btrfs/zlib.c > @@ -350,8 +350,6 @@ int zlib_decompress_bio(struct list_head *ws, struct compressed_bio *cb) > zlib_inflateEnd(&workspace->strm); > if (data_in) > kunmap_local(data_in); > - if (!ret) > - zero_fill_bio(cb->orig_bio); > return ret; > } > > diff --git a/fs/btrfs/zstd.c b/fs/btrfs/zstd.c > index e34f1ab99d56fe..f798da267590d4 100644 > --- a/fs/btrfs/zstd.c > +++ b/fs/btrfs/zstd.c > @@ -609,7 +609,6 @@ int zstd_decompress_bio(struct list_head *ws, struct compressed_bio *cb) > } > } > ret = 0; > - zero_fill_bio(cb->orig_bio); > done: > if (workspace->in_buf.src) > kunmap_local(workspace->in_buf.src);
On 01/03/2023 21:42, Christoph Hellwig wrote: > All algorithms have to fill the remainder of the orig_bio with zeroes, > so do it in common code. > > Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Anand Jain <anand.jain@oracle.com>
diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c index 5b1de1c19991e9..64c804dc3962f6 100644 --- a/fs/btrfs/compression.c +++ b/fs/btrfs/compression.c @@ -965,6 +965,8 @@ static int btrfs_decompress_bio(struct compressed_bio *cb) ret = compression_decompress_bio(workspace, cb); put_workspace(type, workspace); + if (!ret) + zero_fill_bio(cb->orig_bio); return ret; } diff --git a/fs/btrfs/lzo.c b/fs/btrfs/lzo.c index dc66ee98989e90..3a095b9c6373ea 100644 --- a/fs/btrfs/lzo.c +++ b/fs/btrfs/lzo.c @@ -389,8 +389,7 @@ int lzo_decompress_bio(struct list_head *ws, struct compressed_bio *cb) */ btrfs_err(fs_info, "unexpectedly large lzo segment len %u", seg_len); - ret = -EIO; - goto out; + return -EIO; } /* Copy the compressed segment payload into workspace */ @@ -401,8 +400,7 @@ int lzo_decompress_bio(struct list_head *ws, struct compressed_bio *cb) workspace->buf, &out_len); if (ret != LZO_E_OK) { btrfs_err(fs_info, "failed to decompress"); - ret = -EIO; - goto out; + return -EIO; } /* Copy the data into inode pages */ @@ -411,7 +409,7 @@ int lzo_decompress_bio(struct list_head *ws, struct compressed_bio *cb) /* All data read, exit */ if (ret == 0) - goto out; + return 0; ret = 0; /* Check if the sector has enough space for a segment header */ @@ -422,10 +420,8 @@ int lzo_decompress_bio(struct list_head *ws, struct compressed_bio *cb) /* Skip the padding zeros */ cur_in += sector_bytes_left; } -out: - if (!ret) - zero_fill_bio(cb->orig_bio); - return ret; + + return 0; } int lzo_decompress(struct list_head *ws, const u8 *data_in, diff --git a/fs/btrfs/zlib.c b/fs/btrfs/zlib.c index da7bb9187b68a3..8acb05e176c540 100644 --- a/fs/btrfs/zlib.c +++ b/fs/btrfs/zlib.c @@ -350,8 +350,6 @@ int zlib_decompress_bio(struct list_head *ws, struct compressed_bio *cb) zlib_inflateEnd(&workspace->strm); if (data_in) kunmap_local(data_in); - if (!ret) - zero_fill_bio(cb->orig_bio); return ret; } diff --git a/fs/btrfs/zstd.c b/fs/btrfs/zstd.c index e34f1ab99d56fe..f798da267590d4 100644 --- a/fs/btrfs/zstd.c +++ b/fs/btrfs/zstd.c @@ -609,7 +609,6 @@ int zstd_decompress_bio(struct list_head *ws, struct compressed_bio *cb) } } ret = 0; - zero_fill_bio(cb->orig_bio); done: if (workspace->in_buf.src) kunmap_local(workspace->in_buf.src);
All algorithms have to fill the remainder of the orig_bio with zeroes, so do it in common code. Signed-off-by: Christoph Hellwig <hch@lst.de> --- fs/btrfs/compression.c | 2 ++ fs/btrfs/lzo.c | 14 +++++--------- fs/btrfs/zlib.c | 2 -- fs/btrfs/zstd.c | 1 - 4 files changed, 7 insertions(+), 12 deletions(-)