lkml.org 
[lkml]   [2004]   [Apr]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: fat32 all upper-case filename problem
Marco Roeland wrote:
> You forgot a 'ls /usbdrive' *before* the 'touch'. Now we don't know
> whether it was empty before. We'll assume so.

Sorry. Yes, the directory was empty before the 'touch'.

>>debil% touch /usbdrive/CASE
>>debil% ls /usbdrive
>>case
>
>
> This suggests that you've mounted your usbdrive (vfat probably?)
> _specifically_ with the option to force lowercase filenames. The default
> is to preserve the case of the filename (to the filename *should* be CASE here)
> and to see both names as equals.

Here is the output from the 'mount' command:

/dev/sda1 on /usbdrive type vfat (rw,noexec,nosuid,nodev,uid=1000,gid=1000)

AFAIK, I did nothing to force lowercase filenames.

> Another possibility is that there *was* already a file called 'case' and
> that the actual writing of the 'CASE' file in the directory is postponed
> until some sort of 'sync' operation. This also would need a
> specific 'case-sensitive' mount option.
>
>
>>debil% ls /usbdrive/CASE
>>/usbdrive/CASE
>>debil% ls /usbdrive/case
>>/usbdrive/case
>
>
> The above normally can only happen if there really are *two* files, one
> name 'case' and the other 'CASE'. So a case sensitive filesystem.

There was only one file as shown by the ls output above. Also, the few people
that I have asked to reproduce this are always able to ls both 'case' and 'CASE'
even after a remount or waiting for the cached entry to expire.

>>debil% umount /usbdrive && mount /usbdrive
>>debil% ls /usbdrive/case
>>/usbdrive/case
>>debil% ls /usbdrive/CASE
>>ls: /usbdrive/CASE: No such file or directory
>
>
> Looks like you have mounted the thing with case-sensitiviy *and* forcing
> lowercase filenames always. Either there is a bug in the combination,
> or perhaps there is a bug in that the uppercase name is cached for some
> time in VFS until the lowercase name is reread from the usbdrive?

Again, I'm not knowingly specifying either case-sensitivity or forced lowercase
filenames. The line in /etc/fstab is as follows:
/dev/sda1 /usbdrive auto (rw,noexec,nosuid,nodev,uid=1000,gid=1000) 0 0

> When you test this please be very careful to reproduce every start and
> end condition *exactly*. <Bad pun alert> It's very easy to look at
> Heisenbugs here, with all these virtual filenames in case space. </Bad
> pun alert>

Thank you for the suggestions. I'll keep these in mind for future testing.
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2005-03-22 14:02    [W:4.850 / U:0.452 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site