[PATCH 5/5] erofs-utils: mkfs: enable experimental rebuild fulldata mode
zhaoyifan (H)
zhaoyifan28 at huawei.com
Thu Mar 5 13:37:00 AEDT 2026
On 2026/3/3 4:01, Lucas Karpinski wrote:
> Finish enabling merge functionality for rebuild fulldata mode
>
> Signed-off-by: Lucas Karpinski <lkarpinski at nvidia.com>
> ---
> mkfs/main.c | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/mkfs/main.c b/mkfs/main.c
> index 124a024..4c96e9d 100644
> --- a/mkfs/main.c
> +++ b/mkfs/main.c
> @@ -105,6 +105,7 @@ static struct option long_options[] = {
> {"MZ", optional_argument, NULL, 537},
> {"xattr-prefix", required_argument, NULL, 538},
> {"xattr-inode-digest", required_argument, NULL, 539},
> + {"merge", no_argument, NULL, 540},
> {0, 0, 0, 0},
> };
>
> @@ -254,6 +255,8 @@ static void usage(int argc, char **argv)
> #ifdef HAVE_ZLIB
> " --gzinfo[=X] generate AWS SOCI-compatible zinfo in order to support random gzip access\n"
> #endif
> + " --merge merge multiple EROFS images into one\n"
> + " Usage: mkfs.erofs --merge OUTPUT INPUT1 INPUT2 ...\n"
Hi Karpinski,
I would suggest using existing `--clean=data` option rather than
introducing `--merge`
for this semantic, and could you help update man/mkfs.erofs.1 as well?
Thanks,
Yifan
> " --vmdk-desc=X generate a VMDK descriptor file to merge sub-filesystems\n"
> #ifdef EROFS_MT_ENABLED
> " --workers=# set the number of worker threads to # (default: %u)\n"
> @@ -1093,13 +1096,15 @@ static int mkfs_parse_sources(int argc, char *argv[], int optind)
> }
> break;
> #endif
> + case EROFS_MKFS_SOURCE_REBUILD:
> + break;
> default:
> erofs_err("unexpected source_mode: %d", source_mode);
> return -EINVAL;
> }
>
> if (source_mode == EROFS_MKFS_SOURCE_REBUILD) {
> - char *srcpath = cfg.c_src_path;
> + char *srcpath = cfg.c_src_path ? cfg.c_src_path : argv[optind++];
> struct erofs_sb_info *src;
>
> do {
> @@ -1550,6 +1555,10 @@ static int mkfs_parse_options_cfg(struct erofs_importer_params *params,
> return err;
> }
> break;
> + case 540:
> + source_mode = EROFS_MKFS_SOURCE_REBUILD;
> + dataimport_mode = EROFS_MKFS_DATA_IMPORT_FULLDATA;
> + break;
> case 'V':
> version();
> exit(0);
>
More information about the Linux-erofs
mailing list