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 01:54:13 +0800 [thread overview]
Message-ID: <YzxzRTg5oUeOCMr+@debian> (raw)
In-Reply-To: <CABBJnRY9PRQD6T4zLJSGGRP_MUUUtZ4D50m-+BzSHNyQgg6-Dg@mail.gmail.com>
Hi Naoto,
On Wed, Oct 05, 2022 at 02:04:39AM +0900, Naoto Yamaguchi wrote:
> Hi Gao
>
> Sorry I'm missing subject and commit message.
> I inclement and fix commit message.
>
I've fixed some minor stuffs as below, please help check if it looks
good to you so that I could apply this version then.
Thanks,
Gao Xiang
> Thanks,
> Naoto Yamaguchi.
> a member of Automotive Grade Linux Instrument Cluster EG.
>
From b1114ba7b3acfc60c9ab5a707f0a5f38eb4ac825 Mon Sep 17 00:00:00 2001
From: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
Date: Wed, 5 Oct 2022 02:01:15 +0900
Subject: [PATCH] erofs-utils: mkfs: Add volume-label setting support
The on-disk erofs_super_block has the volume_name field. On the other
hand, mkfs.erofs doesn't support setting volume label.
This patch adds volume-label setting support to mkfs.erofs.
Option keyword is similar to mke2fs.
Usage:
mkfs.erofs -L volume-label image-fn dir
Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
---
include/erofs/internal.h | 1 +
man/mkfs.erofs.1 | 5 +++++
mkfs/main.c | 15 ++++++++++++++-
3 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/include/erofs/internal.h b/include/erofs/internal.h
index db7ac2d..13c691b 100644
--- a/include/erofs/internal.h
+++ b/include/erofs/internal.h
@@ -94,6 +94,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 8b97796..00a2deb 100644
--- a/mkfs/main.c
+++ b/mkfs/main.c
@@ -86,6 +86,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 (maximum 16)\n"
" -T# set a fixed UNIX timestamp # to all files\n"
#ifdef HAVE_LIBUUID
" -UX use a given filesystem UUID\n"
@@ -237,7 +238,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':
@@ -280,6 +281,17 @@ static int mkfs_parse_options_cfg(int argc, char *argv[])
if (opt)
return opt;
break;
+
+ case 'L':
+ if (optarg == NULL ||
+ strlen(optarg) > sizeof(sbi.volume_name)) {
+ erofs_err("invalid volume label");
+ return -EINVAL;
+ }
+ strncpy(sbi.volume_name, optarg,
+ sizeof(sbi.volume_name));
+ break;
+
case 'T':
cfg.c_unix_timestamp = strtoull(optarg, &endptr, 0);
if (cfg.c_unix_timestamp == -1 || *endptr != '\0') {
@@ -510,6 +522,7 @@ int erofs_mkfs_update_super_block(struct erofs_buffer_head *bh,
sb.root_nid = cpu_to_le16(root_nid);
sb.packed_nid = cpu_to_le64(packed_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.30.2
next prev parent reply other threads:[~2022-10-04 17:54 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
2022-10-04 17:01 ` [PATCH v3] " Naoto Yamaguchi
2022-10-04 17:04 ` [PATCH] " Naoto Yamaguchi
2022-10-04 17:54 ` Gao Xiang [this message]
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=YzxzRTg5oUeOCMr+@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox