[PATCH 2/3] erofs-utils: use compressed pclusters to mark fragments

Yue Hu zbestahu at gmail.com
Thu Mar 2 01:00:06 AEDT 2023


On Wed,  1 Mar 2023 02:54:58 +0800
Gao Xiang <hsiangkao at linux.alibaba.com> wrote:

> The decoded lengths of uncompressed pclusters should be
> strictly no more than encoded lengths.
> 
> Fixes: 9fa9b017f773 ("erofs-utils: mkfs: support fragments")
> Signed-off-by: Gao Xiang <hsiangkao at linux.alibaba.com>

Reviewed-by: Yue Hu <huyue2 at coolpad.com>

> ---
>  lib/compress.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/lib/compress.c b/lib/compress.c
> index 0aaec30..8169990 100644
> --- a/lib/compress.c
> +++ b/lib/compress.c
> @@ -95,7 +95,7 @@ static void z_erofs_write_indexes(struct z_erofs_vle_compress_ctx *ctx)
>  		 * A lcluster cannot have three parts with the middle one which
>  		 * is well-compressed for !ztailpacking cases.
>  		 */
> -		DBG_BUGON(!ctx->e.raw && !cfg.c_ztailpacking);
> +		DBG_BUGON(!ctx->e.raw && !cfg.c_ztailpacking && !cfg.c_fragments);
>  		DBG_BUGON(ctx->e.partial);
>  		type = ctx->e.raw ? Z_EROFS_VLE_CLUSTER_TYPE_PLAIN :
>  			Z_EROFS_VLE_CLUSTER_TYPE_HEAD;
> @@ -457,7 +457,7 @@ frag_packing:
>  			if (ret < 0)
>  				return ret;
>  			ctx->e.compressedblks = 0; /* indicate a fragment */
> -			ctx->e.raw = true;
> +			ctx->e.raw = false;
>  			ctx->fragemitted = true;
>  			fix_dedupedfrag = false;
>  		/* tailpcluster should be less than 1 block */
> @@ -928,7 +928,7 @@ int erofs_write_compressed_file(struct erofs_inode *inode, int fd)
>  		z_erofs_write_indexes(&ctx);
>  		ctx.e.length = inode->fragment_size;
>  		ctx.e.compressedblks = 0;
> -		ctx.e.raw = true;
> +		ctx.e.raw = false;
>  		ctx.e.partial = false;
>  		ctx.e.blkaddr = ctx.blkaddr;
>  	}



More information about the Linux-erofs mailing list