All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gao Xiang <xiang@kernel.org>
To: Naoto Yamaguchi <wata2ki@gmail.com>
Cc: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>,
	linux-erofs@lists.ozlabs.org
Subject: Re: [PATCH] erofs-utils: mkfs: Add volume-name setting support
Date: Wed, 5 Oct 2022 00:49:23 +0800	[thread overview]
Message-ID: <YzxkE6rN1KcZmF09@debian> (raw)
In-Reply-To: <20221004164324.11481-1-naoto.yamaguchi@aisin.co.jp>

On Wed, Oct 05, 2022 at 01:43:24AM +0900, Naoto Yamaguchi wrote:
> The erofs_super_block has volume_name field.  On the other hand,
> mkfs.erofs is not supporting to set volume name.
> This patch add volume-name setting support to mkfs.erofs.
> Option keyword is similar to mkfs.vfat.
> 
> usage:
>   mkfs.erofs -n volume-name image-fn dir
> 

commit message is not updated... also it'd be better to bump
up the patch version in the subject line like:

[PATCH v2] erofs-utils: mkfs: ...

> Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
> ---
>  include/erofs/internal.h |  1 +
>  man/mkfs.erofs.1         |  5 +++++
>  mkfs/main.c              | 13 ++++++++++++-
>  3 files changed, 18 insertions(+), 1 deletion(-)
> 
> diff --git a/include/erofs/internal.h b/include/erofs/internal.h
> index 2e0aae8..7dc42eb 100644
> --- a/include/erofs/internal.h
> +++ b/include/erofs/internal.h
> @@ -92,6 +92,7 @@ struct erofs_sb_info {
>  	u64 inos;
>  
>  	u8 uuid[16];
> +	char volume_name[16];
>  
>  	u16 available_compr_algs;
>  	u16 lz4_max_distance;
> diff --git a/man/mkfs.erofs.1 b/man/mkfs.erofs.1
> index 11e8323..b65d01b 100644
> --- a/man/mkfs.erofs.1
> +++ b/man/mkfs.erofs.1
> @@ -66,6 +66,11 @@ Pack the tail part (pcluster) of compressed files into its metadata to save
>  more space and the tail part I/O. (Linux v5.17+)
>  .RE
>  .TP
> +.BI "\-L " volume-label
> +Set the volume label for the filesystem to
> +.IR volume-label .
> +The maximum length of the volume label is 16 bytes.
> +.TP
>  .BI "\-T " #
>  Set all files to the given UNIX timestamp. Reproducible builds requires setting
>  all to a specific one.
> diff --git a/mkfs/main.c b/mkfs/main.c
> index 594ecf9..08a4215 100644
> --- a/mkfs/main.c
> +++ b/mkfs/main.c
> @@ -84,6 +84,7 @@ static void usage(void)
>  	      " -zX[,Y]               X=compressor (Y=compression level, optional)\n"
>  	      " -C#                   specify the size of compress physical cluster in bytes\n"
>  	      " -EX[,...]             X=extended options\n"
> +	      " -L volume-label        set the volume label (max 16 bytes).\n"

Not aligned here.

>  	      " -T#                   set a fixed UNIX timestamp # to all files\n"
>  #ifdef HAVE_LIBUUID
>  	      " -UX                   use a given filesystem UUID\n"
> @@ -212,7 +213,7 @@ static int mkfs_parse_options_cfg(int argc, char *argv[])
>  	int opt, i;
>  	bool quiet = false;
>  
> -	while ((opt = getopt_long(argc, argv, "C:E:T:U:d:x:z:",
> +	while ((opt = getopt_long(argc, argv, "C:E:L:T:U:d:x:z:",
>  				  long_options, NULL)) != -1) {
>  		switch (opt) {
>  		case 'z':
> @@ -255,6 +256,15 @@ static int mkfs_parse_options_cfg(int argc, char *argv[])
>  			if (opt)
>  				return opt;
>  			break;
> +
> +		case 'L':
> +			if (optarg == NULL || strlen(optarg) > 16) {

					sizeof(sbi.volume_name);

> +				erofs_err("invalid volume label");
> +				return -EINVAL;
> +			}
> +			strncpy(sbi.volume_name, optarg, 16);

						sizeof(sbi.volume_name)?


Thanks,
Gao Xiang

> +			break;
> +
>  		case 'T':
>  			cfg.c_unix_timestamp = strtoull(optarg, &endptr, 0);
>  			if (cfg.c_unix_timestamp == -1 || *endptr != '\0') {
> @@ -483,6 +493,7 @@ int erofs_mkfs_update_super_block(struct erofs_buffer_head *bh,
>  	sb.blocks       = cpu_to_le32(*blocks);
>  	sb.root_nid     = cpu_to_le16(root_nid);
>  	memcpy(sb.uuid, sbi.uuid, sizeof(sb.uuid));
> +	memcpy(sb.volume_name, sbi.volume_name, sizeof(sb.volume_name));
>  
>  	if (erofs_sb_has_compr_cfgs())
>  		sb.u1.available_compr_algs = sbi.available_compr_algs;
> -- 
> 2.25.1
> 

  reply	other threads:[~2022-10-04 16:49 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-04 16:02 [PATCH] erofs-utils: mkfs: Add volume-name setting support Naoto Yamaguchi
2022-10-04 16:15 ` Gao Xiang
2022-10-04 16:25   ` Naoto Yamaguchi
2022-10-04 16:33     ` Gao Xiang
2022-10-04 16:43       ` Naoto Yamaguchi
2022-10-04 16:49         ` Gao Xiang [this message]
2022-10-04 17:01           ` [PATCH v3] " Naoto Yamaguchi
2022-10-04 17:04           ` [PATCH] " Naoto Yamaguchi
2022-10-04 17:54             ` Gao Xiang
2022-10-04 21:33               ` Naoto Yamaguchi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YzxkE6rN1KcZmF09@debian \
    --to=xiang@kernel.org \
    --cc=linux-erofs@lists.ozlabs.org \
    --cc=naoto.yamaguchi@aisin.co.jp \
    --cc=wata2ki@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.