[PATCH v3] erofs-utils: Make --mount-point option generally available
Kelvin Zhang
zhangkelvin at google.com
Fri Jul 8 03:40:58 AEST 2022
This option does not have any android specific dependencies. It is also
useful for all selinux enabled fs images, so move it out of android
specific feature sets.
e.g. mkfs.erofs --file-contexts=selinux_context_file
--mount_point=/product product.img your_product_out_dir
Signed-off-by: Kelvin Zhang <zhangkelvin at google.com>
---
include/erofs/config.h | 2 +-
lib/xattr.c | 2 --
mkfs/main.c | 6 +++---
3 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/include/erofs/config.h b/include/erofs/config.h
index 0d0916c..2daf46c 100644
--- a/include/erofs/config.h
+++ b/include/erofs/config.h
@@ -67,8 +67,8 @@ struct erofs_configure {
u32 c_dict_size;
u64 c_unix_timestamp;
u32 c_uid, c_gid;
+ const char *mount_point;
#ifdef WITH_ANDROID
- char *mount_point;
char *target_out_path;
char *fs_config_file;
char *block_list_file;
diff --git a/lib/xattr.c b/lib/xattr.c
index 71ffe3e..c8ce278 100644
--- a/lib/xattr.c
+++ b/lib/xattr.c
@@ -210,12 +210,10 @@ static struct xattr_item *erofs_get_selabel_xattr(const char *srcpath,
unsigned int len[2];
char *kvbuf, *fspath;
-#ifdef WITH_ANDROID
if (cfg.mount_point)
ret = asprintf(&fspath, "/%s/%s", cfg.mount_point,
erofs_fspath(srcpath));
else
-#endif
ret = asprintf(&fspath, "/%s", erofs_fspath(srcpath));
if (ret <= 0)
return ERR_PTR(-ENOMEM);
diff --git a/mkfs/main.c b/mkfs/main.c
index d2c9830..deb8e1f 100644
--- a/mkfs/main.c
+++ b/mkfs/main.c
@@ -51,8 +51,8 @@ static struct option long_options[] = {
{"blobdev", required_argument, NULL, 13},
{"ignore-mtime", no_argument, NULL, 14},
{"preserve-mtime", no_argument, NULL, 15},
-#ifdef WITH_ANDROID
{"mount-point", required_argument, NULL, 512},
+#ifdef WITH_ANDROID
{"product-out", required_argument, NULL, 513},
{"fs-config-file", required_argument, NULL, 514},
{"block-list-file", required_argument, NULL, 515},
@@ -105,9 +105,9 @@ static void usage(void)
#ifndef NDEBUG
" --random-pclusterblks randomize pclusterblks for big pcluster (debugging only)\n"
#endif
+ " --mount-point=X X=prefix of target fs path (default: /)\n"
#ifdef WITH_ANDROID
"\nwith following android-specific options:\n"
- " --mount-point=X X=prefix of target fs path (default: /)\n"
" --product-out=X X=product_out directory\n"
" --fs-config-file=X X=fs_config file\n"
" --block-list-file=X X=block_list file\n"
@@ -323,7 +323,6 @@ static int mkfs_parse_options_cfg(int argc, char *argv[])
case 10:
cfg.c_compress_hints_file = optarg;
break;
-#ifdef WITH_ANDROID
case 512:
cfg.mount_point = optarg;
/* all trailing '/' should be deleted */
@@ -331,6 +330,7 @@ static int mkfs_parse_options_cfg(int argc, char *argv[])
if (opt && optarg[opt - 1] == '/')
optarg[opt - 1] = '\0';
break;
+#ifdef WITH_ANDROID
case 513:
cfg.target_out_path = optarg;
break;
--
2.37.0.rc0.161.g10f37bed90-goog
More information about the Linux-erofs
mailing list