Messages in this thread | | | Date | Mon, 19 Feb 2007 16:53:46 +0100 | From | Pierre Ossman <> | Subject | Racy NLS behaviour in FAT (and possible other fs) |
| |
Hi,
I'm experiencing a rather odd behaviour with the character set conversion. If I mount a vfat fs with utf8 and then create a file with invalid utf-8 sequences, the file will briefly exist with these invalid sequences, then quickly convert to a stripped version.
I haven't found an easy way to catch the race, but if I have nautilus open it tends to catch it now and then (I get a file name with "<?>" replacing each bad byte).
The race also seems to corrupt the in-memory state of the fs now and then. I managed to create a file where "ls" shows "?" for most fields. Data seemed to have made it to disk ok though (fsck didn't complain and a remount showed everything as it should be).
Third, there seems to be a problem with not all syscalls being subjected to the NLS transformation. Example:
$ echo foo > baråäö.txt $ ls foo.txt $ echo foo > baråäö.txt bash: baråäö.txt: File exists
Rgds -- -- Pierre Ossman
Linux kernel, MMC maintainer http://www.kernel.org PulseAudio, core developer http://pulseaudio.org rdesktop, core developer http://www.rdesktop.org - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |