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

From: Namjae Jeon
Date: Thu Jan 02 2020 - 08:41:44 EST


2020-01-02 22:16 GMT+09:00, Pali RohÃr <pali.rohar@xxxxxxxxx>:
> On Thursday 02 January 2020 09:30:29 Pali RohÃr wrote:
>> 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).
>
> Anyway, this is limitation of kernel's NLS framework? Or limitation in
> current exfat driver implementation?
This is not exfat driver issue. Please check fatfs, cifs, etc..
>
> Because if it is in kernel's NLS framework then all kernel drivers would
> be affected by this limitation, and not only exfat.
Yes, FATfs also has two options and There seems to be
CONFIG_FAT_DEFAULT_UTF8 option to avoid the issue you said.

config FAT_DEFAULT_UTF8
bool "Enable FAT UTF-8 option by default"
depends on VFAT_FS
default n
help
Set this if you would like to have "utf8" mount option set
by default when mounting FAT filesystems.

Even if you say Y here can always disable UTF-8 for
particular mount by adding "utf8=0" to mount options.

Say Y if you use UTF-8 encoding for file names, N otherwise.

But the way you suggested looks better.

Thanks!
>
> --
> Pali RohÃr
> pali.rohar@xxxxxxxxx
>