Finish enabling merge functionality for rebuild fulldata mode
Signed-off-by: Lucas Karpinski <[email protected]>
---
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"
" --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);
--
Git-155)