kernel: FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
Richard Downer
rdowner at gmail.com
Mon Jun 6 18:14:19 UTC 2005
Ziyad, everyone,
On 6/6/05, ZIYAD A. M. AL-BATLY <zamb at saudi.net.sa> wrote:
> On Sun, 2005-06-05 at 13:23 +0100, Richard Downer wrote:
> > Jun 5 12:01:57 localhost kernel: FAT: utf8 is not a recommended IO
> > charset for FAT filesystems, filesystem will be case sensitive!
> > Jun 5 12:01:58 localhost kernel: FAT: utf8 is not a recommended IO
> > charset for FAT filesystems, filesystem will be case sensitive!
>
> That's normal. FAT is not a case-sensitive file-system (meaning that
> "FILe" and "fiLe" are the same and could not exists in the same
> directory). However, using UTF-8 will make it case sensitive (I don't
> know why!) which produce these errors messages in your log.
>
> Why use UTF-8 in FAT file-systems? Because it's the only (reasonable)
> way to support file names in other languages (that's, other than
> English).
>
> You shouldn't worry about it too much. I get these errors in my logs
> when I mount FAT partitions.
Unfortunately it's not that simple, because it *does* cause problems.
The filesystem is only half-case-sensitive and there are plenty of
border conditions that cause problems; Evan (who also replied to my
message) highlighted one of them. Another is this:
mkdir foo <-- OK
mkdir Foo <-- ERROR
On a "true" case-sensitive filesystem that is valid - but in this case
it is behaving like FAT.
mkdir foo <-- OK
cp bar Foo/bar <-- ERROR
On FAT this is should be valid - but in this case it is not.
The file system is neither fully case-sensitive nor fully
case-insensitive - it's a mix of the two and that is causing problems.
I mentioned in my original message that rsync was getting confused -
I think what was happening there was there was an existing directory
called "foo", and rsync was trying to copy files into a directory
"Foo" - it saw it didn't exist, but it got an error when it tried to
create it and when trying to copy files into it.
In short I think it is broken. So, to go back to my original
question, can anyone tell me how to override the iocharset= option
that is used when mounting the device?
(To go off at a tangent a bit - I understand that UTF8 allows better
support of non-basic latin characters. However, doesn't VFAT store
filenames on-disk in Unicode anyway? Why is UTF8 for filenames needed
at all in this case?)
Thanks for your help...
--
rd.
More information about the ubuntu-users
mailing list