[PATCH] erofs: fix 1 lcluster-sized pcluster for big pcluster

Chao Yu yuchao0 at huawei.com
Thu May 13 16:54:26 AEST 2021


On 2021/5/10 14:47, Gao Xiang wrote:
> If the 1st NONHEAD lcluster of a pcluster isn't CBLKCNT lcluster type
> rather than a HEAD or PLAIN type instead, which means its pclustersize
> _must_ be 1 lcluster (since its uncompressed size < 2 lclusters),
> as illustrated below:
> 
>         HEAD     HEAD / PLAIN    lcluster type
>     ____________ ____________
>    |_:__________|_________:__|   file data (uncompressed)
>     .                .
>    .____________.
>    |____________|                pcluster data (compressed)
> 
> Such on-disk case was explained before [1] but missed to be handled
> properly in the runtime implementation.
> 
> It can be observed if manually generating 1 lcluster-sized pcluster
> with 2 lclusters (thus CBLKCNT doesn't exist.) Let's fix it now.
> 
> [1] https://lore.kernel.org/r/20210407043927.10623-1-xiang@kernel.org
> Fixes: cec6e93beadf ("erofs: support parsing big pcluster compress indexes")
> Signed-off-by: Gao Xiang <xiang at kernel.org>

Reviewed-by: Chao Yu <yuchao0 at huawei.com>

Thanks,


More information about the Linux-erofs mailing list