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

Yue Hu zbestahu at 163.com
Thu Oct 14 12:42:59 AEDT 2021


On Thu, 14 Oct 2021 00:03:02 +0800
Gao Xiang <hsiangkao at linux.alibaba.com> wrote:

> 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.

OK, will update in next version.

Thanks.

> 
> 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