Hello,
Unlike what is said in mount(1), mount now mounts VFAT filesystems
with iocharset=utf8. This is *very bad*, as it is not supported by the
kernel:
[ 9239.043602] FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
It can lead to severe filesystem corruption (see for instance
#443514, and the thourough analysis in bug #500540, which I think
might be due to this one).
This is apparently not linked to the locale:
$ LC_ALL=en_GB.iso88591 mount /dev/sdc /mnt && tail -n1 /proc/mounts
/dev/sdc /mnt vfat rw,fmask=0022,dmask=0022,allow_utime=177777,codepage=cp437,iocharset=utf8 0 0
$ LC_ALL=C mount /dev/sdc /mnt && tail -n1 /proc/mounts
/dev/sdc /mnt vfat rw,fmask=0022,dmask=0022,allow_utime=177777,codepage=cp437,iocharset=utf8 0 0
This *must* be fixed quickly. I'm sincerely tempted to tag this as
serious or even grave as for #500540, and this is stopping me from
fixing #443514 properly.
Regards,
Vincent
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.26-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB, LC_CTYPE=en_GB (charmap=ISO-8859-1) (ignored: LC_ALL set to en_GB)
Shell: /bin/sh linked to /bin/dash
Versions of packages mount depends on:
ii libblkid1 1.41.3-1 block device id library
ii libc6 2.7-15 GNU C Library: Shared libraries
ii libselinux1 2.0.65-5 SELinux shared libraries
ii libuuid1 1.41.3-1 universally unique id library
mount recommends no packages.
Versions of packages mount suggests:
pn nfs-common <none> (no description available)
-- no debconf information
--
To UNSUBSCRIBE, email to debian-bugs-...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
> Unlike what is said in mount(1), mount now mounts VFAT filesystems
> with iocharset=utf8. This is *very bad*, as it is not supported by the
> kernel:
The only occurances in the util-linux source of the (case insensitive)
string "UTF8" occur in mount.8 and comments in disk-utils/mkfs.cramfs.c
'iocharset' is found only in mount.8
Nor am I able to reproduce the behavior here:
/dev/sdc1 /mnt vfat rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1 0 0
> [ 9239.043602] FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
All of which leaves me at a loss to determine what to change to remove
that.
lamont
LaMont Jones wrote:
>> Unlike what is said in mount(1), mount now mounts VFAT filesystems
>> with iocharset=utf8. This is *very bad*, as it is not supported by the
>> kernel:
>
> The only occurances in the util-linux source of the (case insensitive)
> string "UTF8" occur in mount.8 and comments in disk-utils/mkfs.cramfs.c
> 'iocharset' is found only in mount.8
>
> Nor am I able to reproduce the behavior here:
> /dev/sdc1 /mnt vfat rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1 0 0
There are things I don't understand here... I probably did assign this
to mount hastily. See, on my box:
$ mount /dev/sdc /mnt
/proc/mounts says
/dev/sdc /mnt vfat
rw,fmask=0022,dmask=0022,allow_utime=177777,codepage=cp437,iocharset=utf8
0 0
but the kernel does not complain.
$ mount /dev/sdc /mnt -o utf8
/proc/mounts says
/dev/sdc /mnt vfat
rw,fmask=0022,dmask=0022,codepage=cp437,iocharset=utf8,utf8 0 0
and now the kernel complains !
$ mount /dev/sdc /mnt -o iocharset=utf8
/dev/sdc /mnt vfat
rw,fmask=0022,dmask=0022,codepage=cp437,iocharset=utf8 0 0
the kernel complains as well (which is at least the expected behavior)
$ mount /dev/sdc /mnt -o utf8,iocharset=iso8859-1
/dev/sdc /mnt vfat
rw,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,utf8 0 0
and the kernel does not complain, which is what I had expected too.
What does that mean ? The only apparent different between the first and
third cases is the allow_utime=177777 bit, but in the first case, the
kernel does not complain whereas it does for the third... To which
extent can /proc/mounts be trusted ?
>> [ 9239.043602] FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
> All of which leaves me at a loss to determine what to change to remove
> that.
I'm afraid I'm at least as lost as you are...
Regards,
Vincent
--
Vincent Fourmond, Debian Developer
http://vince-debian.blogspot.com/
I have always wished for my computer to be as easy to use as my
telephone; my wish has come true because I can no longer figure out
how to use my telephone.
-- Bjarne Stroustrup
Vincent, listening to All You Want (Dido)