> > HOWEVER. If we can make that name translation generic enough that it works
> > for _all_ filesystems (even ext2 if you want it to), and there are no
> > filesystem-specific hooks for it, then I already start likin git a lot
> > more. Then it goes from being "damn ms-dos braindamage that we have to
> > hack around" to being "the VFS layer can handle case-insensitive names".
>
> 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.
Aww - Unicode is easy :)
They were nice and provided a table that describes
upper/lowercase/titlecase conversions + a LOT of other info... Just no
font data <sigh> [apparently in the ISO standard. <Sigh>]
it's a 72K gzipped file (without Han coding - Han coding is 3M gzipped)
[Han coding isn't just Chinese characters - it's also Japanese, Korean,
...]
[www.unicode.org is handy :]
> 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.
So make it a userspace problem... There SHOULD be a standard
directory-system interface library! (glibc REALLY doesn't cut it)
> In short, I'm not sure how useful O_NOCASE is, because it is difficult
> to describe its semantics in a few sentences correctly. Because it
> won't interfere with the normal behaviour if it is not used, it might
> be interesting to see how it works as an experiment.
The other problem being that if Unicode upper/lowercase mapping were
supported... in addition to all of the other mappings used... [Unicode is
REALLY the easiest because of all the info available].... The kernel
would bloat, yes?
G'day, eh? [and have a nice weekend :]
- Teunis