GNOME Bugzilla – Bug 92188
Weird behaviour with filename casing on vfat filesystems
Last modified: 2008-12-16 08:13:35 UTC
When creating a new folder with a full uppercase name ("PANTS"), Nautilus displays two icons: pants and PANTS. Both work, but there's only one folder. Once that Nautilus view is reloaded, the directory appears as 'pants'. Folders created with upper and lower case characters work fine, displaying only one icon on creation, and the folder appears as 'Pants' correctly thereafter, too. Folders created with full lowercase work correctly on creation and display. You cannnot rename to change the filename case (it tells you there's already a folder called "WHATEVER").
I was looking through some old bugs and ran across this one. I can reproduce with nautilus 2.3.7. As Jeff says, when creating the directory 'PANTS' in nautilus on a vfat filesystem, both 'pants' and 'PANTS' show up in the nautilus window. However, only 'pants' is created. This can be verified either at the command line, or by: Hitting the up button in nautilus and then again returning to the directory that contains the 'pants' directory (which will then only show 'pants' and not 'PANTS'). Changing GNOMEVER2.0->GNOMEVER2.3, adding bugsquad keyword, setting priority to high (so the maintainers can notice it; they can drop it back down if they like), and changing version to 2.3.x. Also, adding myself to the cc list.
I would like to add that the second bug is independent from the main bug, i.e.: "You cannnot rename to change the filename case (it tells you there's already a folder called "WHATEVER")." This is the case with any folder in vfat filesystems. For exemple, if I want to recapitalize a folder (e.g. "heaven and earth" -> "Heaven and Earth"), I have to first rename it to a dummy name. If I try to simply recapitalize the name I get the error "filename already exists" (which is understandable since vfat is case-insensitive, but should be detected as such and not trigger an error).
Is this still the same?
I can reproduce this with 2.4.1. It looks like two folders get created, but only one actually is. Setting version->2.4.x.
On a related note: I just commited a patch to gnome-vfs which allows capitalization changes on vfat filesystems (See #130159). Setting severity->minor & adding bugsquad keyword.
*** Bug 132232 has been marked as a duplicate of this bug. ***
*** Bug 132990 has been marked as a duplicate of this bug. ***
*** Bug 127869 has been marked as a duplicate of this bug. ***
*** Bug 157225 has been marked as a duplicate of this bug. ***
Last duplicate was in 2.9.x, so updating the version number.
*** Bug 164110 has been marked as a duplicate of this bug. ***
*** Bug 155666 has been marked as a duplicate of this bug. ***
Almost had been posting another duplicate for the bug. Credits go to Juhaz on #gnome for finding it out for me. Two folders or files (uppercase and downcase names, using nautilus 2.12.1 for example) will appear only as far as the new file is named in uppercase 8.3 format (eg to have a short file name in fat32 terms) Juhaz also noted that it is propably gnome-vfs or fam/gamin related bug. That would be because the kernel/fat driver doesn't do the magical lower-casing trick for longer names or mixed-case names. This is how it seems to be happening, based on short inspection: 1) nautilus creates the file/folder, so it expects it to exist 2) kernel turns it to lowercase name 3) fam/gamin/gnome-vfs tells nautilus that lowercased name has been created but it _doesn't_ tell it that uppercased name has been deleted, because it actually never existed. So nautilus shows the "new" lowercased name, but also thinks the old one is there because it didn't get "deleted" event. Might be that nautilus should start to make a difference for case-insensitive file-systems... Maybe there should be special-casing for this, either to ignore the initial notice of new file, or alternatively to hide the uppercase one when it's received.
I have a problem about moving folders from ext3 to vfat. two folders "TEST" and "test" are exist ext3 filesystem normally. When moving two them to vfat filesystem using Nautilus 2.12.1, only one folder exist. And another folder was disappear on ext3 and vfat. I have known lowercase and uppercase name is the same on vfat filesystem. I think disappered folder should keep on ext3 filesystem.
Comment #14 This is a nother issue, please create a new bug on that one. As for the original bug... Can we close it? I'm unable to reproduce it.
The issue in general is that for case-insensitive file systems, a resource URI is not unique. Maybe we can somehow canonicalize the file names, or have means to detect that the underlying FS for a particular URI is case-insensitive, so that we can g_ascii_strncasecmp entities.
On a FAT32 filesystem, I can't rename "pants" to "PANTS" -- I get a conflict warning. Is that another aspect of this bug?
I cannot reproduce this bug anymore on 2.20.0. Can somebody confirm it's still here ??? (my guess is that it should be tagged as OBSOLETE)
can't reproduce 2.24 from fedora 10. Maybe gvfs issue fixed in gio?