[PATCH] erofs-utils: mkfs: Add volume-name setting support

Naoto Yamaguchi wata2ki at gmail.com
Wed Oct 5 03:25:48 AEDT 2022


Hi Gao

Thank you feedback!

>1) How about following mke2fs by using "-L volume-label" ?
>https://www.man7.org/linux/man-pages/man8/mke2fs.8.html

The mkfs.extX is using "-L volume-label".
The mkfs.vfat is using "-n volume-name".
I think both better.
You commented to "-L" is more better, I will change it.

>2) If possible, how about adding a kernel ioctl for this if you have more interest?
>I mean FS_IOC_GETFSLABEL.

It's interesting feature.  I will try to work it.

Thanks,
Naoto Yamaguchi.
a member of Automotive Grade Linux Instrument Cluster EG.

2022年10月5日(水) 1:15 Gao Xiang <xiang at kernel.org>:
>
> Hi Naoto,
>
> On Wed, Oct 05, 2022 at 01:02:37AM +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
>
> Thanks for your patch! The patch itself generally looks good to me.
>
>
> Just two minor ideas:
>
> 1) How about following mke2fs by using "-L volume-label" ?
> https://www.man7.org/linux/man-pages/man8/mke2fs.8.html
>
> 2) If possible, how about adding a kernel ioctl for this if you have
> more interest?  I mean FS_IOC_GETFSLABEL.
>
> >
> > Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi at aisin.co.jp>
> > ---
> >  include/erofs/internal.h |  1 +
> >  man/mkfs.erofs.1         |  4 ++++
> >  mkfs/main.c              | 13 ++++++++++++-
> >  3 files changed, 17 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..fb98505 100644
> > --- a/man/mkfs.erofs.1
> > +++ b/man/mkfs.erofs.1
> > @@ -32,6 +32,10 @@ big pcluster feature if needed (Linux v5.13+).
> >  Specify the level of debugging messages. The default is 2, which shows basic
> >  warning messages.
> >  .TP
> > +.BI "\-n " volume-name
> > +Set the volume name for the filesystem to volume-name.  The maximum length of
> > +the volume name is 16 bytes.
> > +.TP
> >  .BI "\-x " #
> >  Specify the upper limit of an xattr which is still inlined. The default is 2.
> >  Disable storing xattrs if < 0.
> > diff --git a/mkfs/main.c b/mkfs/main.c
> > index 594ecf9..613ee46 100644
> > --- a/mkfs/main.c
> > +++ b/mkfs/main.c
> > @@ -80,6 +80,7 @@ static void usage(void)
> >       fputs("usage: [options] FILE DIRECTORY\n\n"
> >             "Generate erofs image from DIRECTORY to FILE, and [options] are:\n"
> >             " -d#                   set output message level to # (maximum 9)\n"
> > +           " -n volume-name        set the volume name (max 16 bytes).\n"
>
> ...
>
> >             " -x#                   set xattr tolerance to # (< 0, disable xattrs; default 2)\n"
> >             " -zX[,Y]               X=compressor (Y=compression level, optional)\n"
> >             " -C#                   specify the size of compress physical cluster in bytes\n"
>
>
>               " -L volume-label       set the volume label (maximum 12)\n"
>
> Thanks,
> Gao Xiang


More information about the Linux-erofs mailing list