kernel: FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!

fsj fsjfsj at vip.cybercity.dk
Mon Jun 6 21:41:12 UTC 2005


On Monday 06 June 2005 20:14, Richard Downer wrote:
(v)fat operates with two filenames, the short (8.3) msdos filename
and the long filename. 

The short filename is handled via the "codepage=XXX" which is 850 in my case 
living in dk-land. But since I don't use national characters in short 
filenames I go with the default which is codepage=437 ~ ascii.

The long filename is stored in unicode and handled via "iocharset=isoXXXXX", 
in my case "iso8859-1", the default.

So my mount line is:

/dev/hda1  /mnt/win_c  vfat defaults,user,umask=0      0       0

I could have used

/dev/hda1  /mnt/win_c  vfat   
defaults,user,umask=0,iocharset=iso8859-1,codepage=850      0       0

Hope this help :)

Finn

> 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