[PATCH] erofs-utils: fsck: support interlaced uncompressed pcluster

Gao Xiang hsiangkao at linux.alibaba.com
Wed Dec 21 18:49:34 AEDT 2022


On Wed, Dec 21, 2022 at 03:41:30PM +0800, Yue Hu wrote:
> From: Yue Hu <huyue2 at coolpad.com>
> 
> Support uncompressed data layout with on-disk interlaced offset in
> compression mode for fsck.erofs.
> 
> Signed-off-by: Yue Hu <huyue2 at coolpad.com>
> ---
>  fsck/main.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/fsck/main.c b/fsck/main.c
> index 410e756..c2f57bc 100644
> --- a/fsck/main.c
> +++ b/fsck/main.c
> @@ -458,12 +458,16 @@ static int erofs_verify_inode_data(struct erofs_inode *inode, int outfd)
>  				.in = raw,
>  				.out = buffer,
>  				.decodedskip = 0,
> +				.interlaced_offset = 0,

Could we use
	.interlace_offset =
		map.m_algorithmformat == Z_EROFS_COMPRESSION_INTERLACED ?
			rq.interlaced_offset : 0,

here instead?

Thanks,
Gao Xiang

>  				.inputsize = map.m_plen,
>  				.decodedlength = map.m_llen,
>  				.alg = map.m_algorithmformat,
>  				.partial_decoding = 0
>  			};
>  
> +			if (map.m_algorithmformat == Z_EROFS_COMPRESSION_INTERLACED)
> +				rq.interlaced_offset = erofs_blkoff(map.m_la);
> +
>  			ret = z_erofs_decompress(&rq);
>  			if (ret < 0) {
>  				erofs_err("failed to decompress data of m_pa %" PRIu64 ", m_plen %" PRIu64 " @ nid %llu: %s",
> -- 
> 2.17.1


More information about the Linux-erofs mailing list