[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