* Re: Bug#333776: linux-2.6: vfat driver in 2.6.12 is not properly case-insensitive [not found] ` <20051015003549.GB11040@tennyson.dodds.net> @ 2005-10-28 8:22 ` Horms 2005-10-28 14:54 ` OGAWA Hirofumi 0 siblings, 1 reply; 8+ messages in thread From: Horms @ 2005-10-28 8:22 UTC (permalink / raw) To: OGAWA Hirofumi; +Cc: 333776, Linux Kernel Ogawa-san, I'm bringing this to you attention because a) I'm not sure who to ask and b) I'm not sure what the correct behaviour is. When a vfat filesystem is mounted isocharset=iso8859-1, then the following works: touch a.txt ls A.txt But when it is mounted isocharset=utf8, then ls complains, file not found: touch a.txt ls A.txt That is, in utf8, a =! A on vfat, and thus its not case insensitive as one might expect. I took a quick look in fs/nls/nls_utf8.c and I see that this is intentional. static struct nls_table table = { .charset = "utf8", .uni2char = uni2char, .char2uni = char2uni, .charset2lower = identity, /* no conversion */ .charset2upper = identity, .owner = THIS_MODULE, }; I guess it is charset2lower or charset2upper that vfat is calling, which make no conversion, thus leading to the problem I outlined above. My question is: Is this behaviour correct, or is it a bug? -- Horms ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Bug#333776: linux-2.6: vfat driver in 2.6.12 is not properly case-insensitive 2005-10-28 8:22 ` Bug#333776: linux-2.6: vfat driver in 2.6.12 is not properly case-insensitive Horms @ 2005-10-28 14:54 ` OGAWA Hirofumi 2005-10-28 15:07 ` OGAWA Hirofumi 2005-10-29 14:45 ` Ingo Oeser 0 siblings, 2 replies; 8+ messages in thread From: OGAWA Hirofumi @ 2005-10-28 14:54 UTC (permalink / raw) To: Horms; +Cc: 333776, Linux Kernel Horms <horms@verge.net.au> writes: > static struct nls_table table = { > .charset = "utf8", > .uni2char = uni2char, > .char2uni = char2uni, > .charset2lower = identity, /* no conversion */ > .charset2upper = identity, > .owner = THIS_MODULE, > }; > > I guess it is charset2lower or charset2upper that vfat is calling, > which make no conversion, thus leading to the problem I outlined above. > > My question is: Is this behaviour correct, or is it a bug? This is known bug. For fixing this bug cleanly, we will need to much change the both of nls and filesystems. Thanks. -- OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Bug#333776: linux-2.6: vfat driver in 2.6.12 is not properly case-insensitive 2005-10-28 14:54 ` OGAWA Hirofumi @ 2005-10-28 15:07 ` OGAWA Hirofumi 2005-10-29 3:45 ` Simon Horman [Horms] 2005-10-29 14:45 ` Ingo Oeser 1 sibling, 1 reply; 8+ messages in thread From: OGAWA Hirofumi @ 2005-10-28 15:07 UTC (permalink / raw) To: Horms; +Cc: 333776, Linux Kernel OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> writes: > Horms <horms@verge.net.au> writes: > >> static struct nls_table table = { >> .charset = "utf8", >> .uni2char = uni2char, >> .char2uni = char2uni, >> .charset2lower = identity, /* no conversion */ >> .charset2upper = identity, >> .owner = THIS_MODULE, >> }; >> >> I guess it is charset2lower or charset2upper that vfat is calling, >> which make no conversion, thus leading to the problem I outlined above. >> >> My question is: Is this behaviour correct, or is it a bug? > > This is known bug. For fixing this bug cleanly, we will need to much > change the both of nls and filesystems. And fatfs has "utf8" option, probably the behavior is preferable than "iocharset=utf8". However, unfortunately "utf8" has problem too. -- OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Bug#333776: linux-2.6: vfat driver in 2.6.12 is not properly case-insensitive 2005-10-28 15:07 ` OGAWA Hirofumi @ 2005-10-29 3:45 ` Simon Horman [Horms] 0 siblings, 0 replies; 8+ messages in thread From: Simon Horman [Horms] @ 2005-10-29 3:45 UTC (permalink / raw) To: OGAWA Hirofumi; +Cc: 333776, Linux Kernel On Sat, Oct 29, 2005 at 12:07:40AM +0900, OGAWA Hirofumi wrote: > OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> writes: > > > Horms <horms@verge.net.au> writes: > > > >> static struct nls_table table = { > >> .charset = "utf8", > >> .uni2char = uni2char, > >> .char2uni = char2uni, > >> .charset2lower = identity, /* no conversion */ > >> .charset2upper = identity, > >> .owner = THIS_MODULE, > >> }; > >> > >> I guess it is charset2lower or charset2upper that vfat is calling, > >> which make no conversion, thus leading to the problem I outlined above. > >> > >> My question is: Is this behaviour correct, or is it a bug? > > > > This is known bug. For fixing this bug cleanly, we will need to much > > change the both of nls and filesystems. > > And fatfs has "utf8" option, probably the behavior is preferable than > "iocharset=utf8". However, unfortunately "utf8" has problem too. Thanks ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Bug#333776: linux-2.6: vfat driver in 2.6.12 is not properly case-insensitive 2005-10-28 14:54 ` OGAWA Hirofumi 2005-10-28 15:07 ` OGAWA Hirofumi @ 2005-10-29 14:45 ` Ingo Oeser 2005-10-29 16:28 ` OGAWA Hirofumi 1 sibling, 1 reply; 8+ messages in thread From: Ingo Oeser @ 2005-10-29 14:45 UTC (permalink / raw) To: linux-kernel; +Cc: OGAWA Hirofumi, Horms, 333776 [-- Attachment #1: Type: text/plain, Size: 780 bytes --] Hi, On Friday 28 October 2005 16:54, OGAWA Hirofumi wrote: > Horms <horms@verge.net.au> writes: > > I guess it is charset2lower or charset2upper that vfat is calling, > > which make no conversion, thus leading to the problem I outlined above. > > > > My question is: Is this behaviour correct, or is it a bug? > > This is known bug. For fixing this bug cleanly, we will need to much > change the both of nls and filesystems. Using per locale collation sequences? :-) Do you know, how Windows handles the problem of differing collation sequences on the file system? Or is the file system always dependend on the locale of the Windows version, which created the file system? I'm so happy, that Unix is not case insensitive :-) Regards Ingo Oeser [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Bug#333776: linux-2.6: vfat driver in 2.6.12 is not properly case-insensitive 2005-10-29 14:45 ` Ingo Oeser @ 2005-10-29 16:28 ` OGAWA Hirofumi 2005-10-29 18:44 ` Anton Altaparmakov 0 siblings, 1 reply; 8+ messages in thread From: OGAWA Hirofumi @ 2005-10-29 16:28 UTC (permalink / raw) To: Ingo Oeser; +Cc: linux-kernel, Horms, 333776 Ingo Oeser <ioe-lkml@rameria.de> writes: >> This is known bug. For fixing this bug cleanly, we will need to much >> change the both of nls and filesystems. > > Using per locale collation sequences? :-) > > Do you know, how Windows handles the problem of differing collation > sequences on the file system? I don't know. Why do we need to care the collation sequences here? > Or is the file system always dependend on the locale of the Windows > version, which created the file system? Probably, yes. I think we need to know on-disk filename's code set. -- OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Bug#333776: linux-2.6: vfat driver in 2.6.12 is not properly case-insensitive 2005-10-29 16:28 ` OGAWA Hirofumi @ 2005-10-29 18:44 ` Anton Altaparmakov 2005-10-29 20:07 ` OGAWA Hirofumi 0 siblings, 1 reply; 8+ messages in thread From: Anton Altaparmakov @ 2005-10-29 18:44 UTC (permalink / raw) To: OGAWA Hirofumi; +Cc: Ingo Oeser, linux-kernel, Horms, 333776 On Sun, 30 Oct 2005, OGAWA Hirofumi wrote: > Ingo Oeser <ioe-lkml@rameria.de> writes: > >> This is known bug. For fixing this bug cleanly, we will need to much > >> change the both of nls and filesystems. > > > > Using per locale collation sequences? :-) > > > > Do you know, how Windows handles the problem of differing collation > > sequences on the file system? > > I don't know. Why do we need to care the collation sequences here? > > > Or is the file system always dependend on the locale of the Windows > > version, which created the file system? > > Probably, yes. I think we need to know on-disk filename's code set. If FAT stores the filenames in 8 bits (non-UTF) then yes, it will be in the current locale/code page of the Windows system writing them (e.g. that happens with the names of EAs in NTFS). If the names are stored in 16-bit Unicode like on NTFS then obviously they are completely locale/code page independent. (Makes my life in NTFS a _lot_ easier. Especially since the NTFS volume contains an upcase table for the full 16-bit Unicode which we load and use to do upcasing for the case insensitive comparisons...) Best regards, Anton -- Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @) Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK Linux NTFS maintainer / IRC: #ntfs on irc.freenode.net WWW: http://linux-ntfs.sf.net/ & http://www-stu.christs.cam.ac.uk/~aia21/ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Bug#333776: linux-2.6: vfat driver in 2.6.12 is not properly case-insensitive 2005-10-29 18:44 ` Anton Altaparmakov @ 2005-10-29 20:07 ` OGAWA Hirofumi 0 siblings, 0 replies; 8+ messages in thread From: OGAWA Hirofumi @ 2005-10-29 20:07 UTC (permalink / raw) To: Anton Altaparmakov; +Cc: Ingo Oeser, linux-kernel, Horms, 333776 Anton Altaparmakov <aia21@cam.ac.uk> writes: >> Probably, yes. I think we need to know on-disk filename's code set. > > If FAT stores the filenames in 8 bits (non-UTF) then yes, it will be in > the current locale/code page of the Windows system writing them (e.g. that > happens with the names of EAs in NTFS). > > If the names are stored in 16-bit Unicode like on NTFS then obviously they > are completely locale/code page independent. (Makes my life in NTFS a > _lot_ easier. Especially since the NTFS volume contains an upcase table > for the full 16-bit Unicode which we load and use to do upcasing for the > case insensitive comparisons...) Yes, I got to know it from fs/ntfs/*. :) Unfortunately, FAT stores 8/16bits codeset filename always. (Unicode (UCS2?) is stored in only case of longname.) Thanks. -- OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2005-10-29 20:07 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20051013165529.GA2472@tennyson.dodds.net>
[not found] ` <20051014023216.GJ8848@verge.net.au>
[not found] ` <20051015003549.GB11040@tennyson.dodds.net>
2005-10-28 8:22 ` Bug#333776: linux-2.6: vfat driver in 2.6.12 is not properly case-insensitive Horms
2005-10-28 14:54 ` OGAWA Hirofumi
2005-10-28 15:07 ` OGAWA Hirofumi
2005-10-29 3:45 ` Simon Horman [Horms]
2005-10-29 14:45 ` Ingo Oeser
2005-10-29 16:28 ` OGAWA Hirofumi
2005-10-29 18:44 ` Anton Altaparmakov
2005-10-29 20:07 ` OGAWA Hirofumi
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.