On Thu, Jul 07, 2022 at 10:40:58AM -0700, Kelvin Zhang wrote:
> 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 <[email protected]>

Looks good to me,
Reviewed-by: Gao Xiang <[email protected]>

Thanks,
Gao Xiang

> ---
>  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

Reply via email to