Subject: Re: Mount option to ignore case
To: Jukka Marin <jmarin@pyy.jmp.fi>
From: Ignatios Souvatzis <is@netbsd.org>
List: tech-kern
Date: 03/30/2002 11:21:24
On Sat, Mar 30, 2002 at 10:01:49AM +0200, Jukka Marin wrote:
> 
> AFAIK, amiga and msdos never supported unicode or kanji.  I don't think Amiga
> had other charsets than 8859-1.

It is _defined_ for 8859-1, which affects filename matching and the hash 
function (as it uses hash tables for directories).

To be more precise: DOS\0 and DOS\2 use US-ASCII, and tread bytes > 0x7f
as always different, while treating us-ascii letters case independent.

DOS\1 and \3 use iso-8859-1, and treat all iso-8859-1 letters case independent.

[Note that some people are using 8859-2 fonts and 8859-2 keyboard maps - 
but this doesn't change filesystem behaviour, so you might get funny effects.]

So, if you write code that is case indep for 8859-1, you'll handle half the
Amiga filesystems wrong.

If you write code that does it for the us-ascii-letters only, you'll handle
the other half wrong.

If you treat them case dependent, you'll handle all of them wrong.

Currently the upper layers do nothing, and we're doing the right thing inside
adosfs now.

Keep this in mind when you start adding flags that some filesystem would
enforce - the first suggestion (either doing it assuming us-ascii, or doing it 
assuming iso-8859-1) does not work for some existing file systems.

Regards,
	Ignatios