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*. It's very easy to look at > Heisenbugs here, with all these virtual filenames in case space. pun alert> Thank you for the suggestions. I'll keep these in mind for future testing.