"iocharset=utf8" makes the filesystem case sensitive.  We can replace it
with "utf8" option which tells the kernel to convert filename using
UTF-8.

On LFS-8.2, I tried to mount a vfat FS with "iocharset=utf8".  Then run:

    # "囧" is just a example or non-ASCII character
    touch "囧a" "囧A"

The result is two files named "囧A" and "囧a" in a FAT32 filesystem.
This is bad.  With "utf8" option there is no problem.

c.f. 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=38739380683795354b3f0f1a1e80614e311b8
617
-- 
Xi Ruoyao <[email protected]>
School of Aerospace Science and Technology, Xidian University
From 509b3370ef9a605d81c299bcfc08c84321e2f52b Mon Sep 17 00:00:00 2001
From: Xi Ruoyao <[email protected]>
Date: Tue, 15 May 2018 15:14:06 +0800
Subject: [PATCH] Use "utf8" option for MS filesystem instead of
 "iocharset=utf8"

"iocharset=utf8" makes the filesystem case sensitive.  We can replace it
with "utf8" option which tells the kernel to convert filename using
UTF-8.
---
 chapter08/fstab.xml | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/chapter08/fstab.xml b/chapter08/fstab.xml
index 91ad2dfe..15772680 100644
--- a/chapter08/fstab.xml
+++ b/chapter08/fstab.xml
@@ -71,11 +71,14 @@ EOF</userinput></screen>
 
 <screen><literal>noauto,user,quiet,showexec,iocharset=koi8r,codepage=866</literal></screen>
 
-  <para>The corresponding options fragment for ru_RU.UTF-8 users is:</para>
+  <para>However, <literal>iocharset=utf8</literal> would make the filesystem
+  case sensitive.  To fix the issue, we should replace it with <literal>utf8
+  </literal> option.  For example, the options fragment for ru_RU.UTF-8 users
+  is:</para>
 
-<screen><literal>noauto,user,quiet,showexec,iocharset=utf8,codepage=866</literal></screen>
+<screen><literal>noauto,user,quiet,showexec,utf8,codepage=866</literal></screen>
 
-  <note>
+  <!--note>
     <para>In the latter case, the kernel emits the following message:</para>
 
 <screen><computeroutput>FAT: utf8 is not a recommended IO charset for FAT filesystems,
@@ -84,7 +87,7 @@ EOF</userinput></screen>
     <para>This negative recommendation should be ignored, since all other values
     of the <quote>iocharset</quote> option result in wrong display of filenames in
     UTF-8 locales.</para>
-  </note>
+  </note-->
 
   <para>It is also possible to specify default codepage and iocharset values for
   some filesystems during kernel configuration. The relevant parameters
-- 
2.16.2

-- 
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to