Re: [PATCH v8 02/13] exfat: add super block operations

From: Pali RohÃr
Date: Thu Jan 02 2020 - 03:30:37 EST


On Thursday 02 January 2020 15:06:16 Namjae Jeon wrote:
> > > +static const struct fs_parameter_spec exfat_param_specs[] = {
> > > + fsparam_u32("uid", Opt_uid),
> > > + fsparam_u32("gid", Opt_gid),
> > > + fsparam_u32oct("umask", Opt_umask),
> > > + fsparam_u32oct("dmask", Opt_dmask),
> > > + fsparam_u32oct("fmask", Opt_fmask),
> > > + fsparam_u32oct("allow_utime", Opt_allow_utime),
> > > + fsparam_string("iocharset", Opt_charset),
> > > + fsparam_flag("utf8", Opt_utf8),
> >
> > Hello! What is the purpose of having extra special "utf8" mount option?
> > Is not one "iocharset=utf8" option enough?
> utf8 nls_table supports utf8<->utf32 conversion and does not support
> surrogate character conversion.

So in other words, this is just subset of UTF-8 just to 3 byte long
sequences (for Unicode code points up to the U+FFFF).

> The utf8 option can support the surrogate
> character conversion of utf16 using utf16s_to_utf8s/utf8s_to_utf16s of
> the nls base.

So this is full UTF-8 support, right?

And what is the point to have two options for UTF-8 support, when one is
incomplete / broken? I see no benefit to have first option at all.
Providing incomplete / broken support to userspace does not make much
sense if we already have full and working support via different mount
option. Maybe second option with full UTF-8 support should be used also
by iocharset=utf8 and then we do not need utf8 option at all?

--
Pali RohÃr
pali.rohar@xxxxxxxxx