Messages in this thread | | | Date | Sat, 9 Aug 1997 12:33:51 +0300 (EET DST) | From | Johan Myréen <> | Subject | Re: Msdos name alias patch for 2.1.48 |
| |
>There is one drawback which might prove this solution not so useful. >User space and file system driver might have different ideas about what >"lower case" is. > >In user space, "lower case" depends on locale settings, "BLÖDES DOS" >becomes "blödes dos" in German but not in English. I'm not even talking >about UTF-8, yet.
Hmm, what are you suggesting "BLÖDES DOS" should be converted to when displayed to an English-spaking user? "blÖdes dos" (with a capital Ö)? (Or "blodes dos", surely not?!) This example has not conviced me that the locale makes any difference, only the character set used.
This whole mess has made me even more convinced that the Unix approach to this, to keep the kernel independent of the character set (with the exception for '/' and '\0'), is the only way to go.
>File system drivers usually cannot take user settings into consideration. >They must define a mapping that is independent from the current process, >otherwise, strange things happen. For example, NTFS stores the file names >alphabetically sorted, implementing a case-insensitive sorting. If the >mapping would depend on the user's native language, the file system might >not find a file because it moved in the sorting order.
>In short, I'm not sure how useful O_NOCASE is, because it is difficult >to describe its semantics in a few sentences correctly.
I'm quite sure the thought of user locale settings did not even cross Linus' mind when he made the O_NOCASE proposal. In fact he even suggested it might be implemented as a fixed, character set independent table (based on Latin-1).
You are right in that there is no easy correct solution to this problem. Fixing the 8-bit Latin-1 character set as the "kernel character set" would not be "right". Having several tables for eight-bit character sets wouldn't work for multibyte character sets.
In any case, in my opinion, non-Unix file systems are of secondary importance to Linux and should burden the simplicity and elegance of the kernel as little as possible.
Johan Myreen jem@iki.fi
| |