Package: pmount Version: 0.9.16-4 Severity: normal [relevant information from original bug report by Enrico Gasperoni and ensuing discussion]
Problem: mounting vfat with utf8 charset leads to the error summarized by this kernel message: FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive! since fat design states it's NOT a case-sensitive filesystem, many programs rely on this and may misbehave if the design is not met. [Vincent Fourmond] It seems this kernel message is not a real issue, see https://launchpad.net/ubuntu/+bug/62321 However, failing set the charset to utf8 might result in terminal choking on some of your files if they contain characters outside of the ASCII range. That is I think more nasty. Therefore, I don't think I will change the defaults, unless I am proven that it really can cause case-sensitivity problems (it does not appear to be the case). [Enrico Gasperoni] I agree. Unfortunately the problem of case sensitivity is a real issue... I didn't pay much attention to that warning before I got nasty problems with my data on Windows... Luckily there exists a solution to both problems: not setting iocharset to utf8 and passing the "utf8" flag to mount which actually tells the vfat driver to store filenames in the non-utf8 charset and perform charcater translation. The result is still using utf8 at a system level but allowing the driver to translate and complain in the necessary cases. see /usr/src/linux/Documentation/filesystems/vfat.txt http://www.nslu2-linux.org/wiki/HowTo/MountFATFileSystems (section "Selectiong iocharset") It solved for me and also (thank you 'couse I didn' realized what the problem was) solved the issue of the terminal going crazy with non utf8 characters. -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.22-2-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 pmount depends on: ii libc6 2.6.1-5 GNU C Library: Shared libraries ii libdbus-1-3 1.1.1-3 simple interprocess messaging syst ii libhal-storage1 0.5.9.1-4 Hardware Abstraction Layer - share ii libhal1 0.5.9.1-4 Hardware Abstraction Layer - share ii libsysfs2 2.1.0-2+b1 interface library to sysfs pmount recommends no packages. -- no debconf information
diff -urB pmount-0.9.16/src/pmount.c pmount-0.9.16_mod/src/pmount.c --- pmount-0.9.16/src/pmount.c 2007-07-03 01:37:24.000000000 +0200 +++ pmount-0.9.16_mod/src/pmount.c 2007-09-17 14:14:38.000000000 +0200 @@ -329,7 +329,7 @@ else access_opt = ""; - if( iocharset && fs->iocharset_format ) { + if( iocharset && fs->iocharset_format && (strcmp(fs->fsname, "vfat") || strcmp(iocharset, "utf8")) ) { if( !is_word_str( iocharset ) ) { fprintf( stderr, _("Error: invalid charset name '%s'\n"), iocharset ); return -1;