Messages in this thread | | | Date | Mon, 05 Apr 2004 15:40:18 -0400 | From | James Vega <> | Subject | Re: 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] | |