[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#333776: linux-2.6: vfat driver in 2.6.12 is not properly case-insensitive



tag 333776 +unreproducible
tag 333776 +moreinfo
thanks

On Thu, Oct 13, 2005 at 09:55:29AM -0700, Steve Langasek wrote:
> Package: linux-2.6
> Version: 2.6.12-6
> 
> The vfat driver in 2.6.12 appears to include a regression compared with
> earlier versions.  VFAT is a case-insensitive filesystem, but with this
> kernel filenames are not handled in a case-insensitive manner:
> 
> $ cd /media/usb0/
> $ touch foo
> $ ls -l foo
> -rw-------  1 vorlon vorlon 0 2005-10-08 03:25 foo
> $ touch fOo
> touch: cannot touch `fOo': File exists
> $ cat fOo
> cat fOo: No such file or directory
> $ rm foo
> $ touch FOO
> $ ls FOO
> ls: FOO: No such file or directory
> $ ls foo
> foo
> $ touch foo_not_8.3.txt
> $ touch fOO_not_8.3.txt
> $ ls -l f*txt
> -rw-------  1 vorlon vorlon 0 2005-10-08 03:28 foo_not_8.3.txt
> -rw-------  1 vorlon vorlon 0 2005-10-08 03:28 fOO_not_8.3.txt
> $
> 
> This poses a significant compatibility problem when sharing vfat volumes
> between Debian and Windows (which, y'know, is the whole point).

Hi Steve,

Unfortunately I am unable to reproduce this problem with current sid
using linux-image-2.6.12-1-686-smp 2.6.12-10

I created a partition using:

$ dd bs=1024 count=1024 if=/dev/zero > /tmp/vfat.img
$ mkdosfs /tmp/vfat.img
$ mount -o loop /tmp/vfat.img /mnt/tmp/
$ mount
[snip]
/tmp/vfat.img on /mnt/tmp type vfat (rw,loop=/dev/loop0)

And then ran the tests you list above, and they all
worked the way I would expect on a case insensitive
file system, that is rather differently to what
you have above.

Can you cook up a test case that breaks? 
Perhaps my mkdosfs is crating something that
works, where as you have a fs created slightly
differently?

-- 
Horms



Reply to: