[PATCH] erofs: fix the per-CPU buffer decompression for small output size

Gao Xiang hsiangkao at linux.alibaba.com
Thu Oct 14 03:03:02 AEDT 2021


On Wed, Oct 13, 2021 at 09:10:05PM +0800, Yue Hu wrote:
> Hi Xiang,
> 
> On Wed, 13 Oct 2021 19:51:55 +0800
> Gao Xiang <hsiangkao at linux.alibaba.com> wrote:
> 
> > Hi Yue,
> > 
> > On Wed, Oct 13, 2021 at 05:29:05PM +0800, Yue Hu wrote:
> > > From: Yue Hu <huyue2 at yulong.com>
> > > 
> > > Note that z_erofs_lz4_decompress() will return a positive value if
> > > decompression succeeds. However, we do not copy_from_pcpubuf() due
> > > to !ret. Let's fix it.
> > > 
> > > Signed-off-by: Yue Hu <huyue2 at yulong.com>  
> > 
> > Thanks for catching this. This is a valid issue, but it has no real
> > impact to the current kernels since such pcluster in practice will be
> > !inplace_io and trigger "if (nrpages_out == 1 && !rq->inplace_io) {"
> > above for upstream strategies.
> > 
> > Our customized lz4 implementation will return 0 if success instead, so
> > it has no issue to our previous products as well.
> 
> Yes, i just find the issue when i try to implement a new feature of
> tail-packing inline compressed data. No problem in my current version.

Yeah, please help update the return value of z_erofs_lz4_decompress()
and get rid of such unneeded fast path.

Thanks,
Gao Xiang

> 
> Thanks.
> 
> > 
> > For such cases, how about updating z_erofs_lz4_decompress() to return
> > 0 if success instead rather than outputsize. Since I'll return 0 if
> > success for LZMA as well.
> > 
> > Thanks,
> > Gao Xiang
> 


More information about the Linux-erofs mailing list