Quick overview of problem:
1. Have 3 machines: Samba server, XP client, Linux client
2. Mount shares (smbmount on Linux, "map network drive" on XP)
3. Create a file called "test" on the server
4. Using the Linux cilent, do "mv test Test" (this fails).
5. Using the XP shell, do "move test Test" (this works).
Mounting a samba share using smbmount under linux leads to problems when dealing
with filenames that differ in case only. These problems do not affect WinXP
mounting the same share, so it looks like a client issue.
The server is running Samba 3.0.2a on linux, kernel 2.4.25. This also happened
with 3.0.1 and kernel 2.4.20. The relevant part of smb.conf looks like:
case sensitive = yes
preserve case = yes
short preserve case = yes
On the Samba server I create two files, "test" and "TEST", as follows:
karmak@server$ echo test > test
karmak@server$ echo TEST > TEST
Running some commands from the linux client, after mounting with smbmount/3.0.1
karmak@client$ cat TEST
karmak@client$ cat test
karmak@client$ mv test Test
mv: overwrite `Test'? n
It appears 'cat' can only see the lowercase file. Same for when you try to move
the file. Instead of renaming, it thinks you want to overwrite the existing
file. Other file utilities are affected in similar ways.
I believe the server is properly configured, since under WinXP the behavior is
as one would expect:
> type TEST
> type test
> move test Test
In short, XP has no problem distinguishing between the filenames that differ in
case only, but Linux does. I find this odd, because I would expect the Linux
client to be at least as capable as the WinXP client in handling the case
differences (if anything I'd expect the XP machine to be the one with the problems).
smbfs is not part of samba. smbfs is known to be solidly broken. cifs is making
good progress and will be the standard client soon. If you want to report that
smbfs problem, you might do that in http://bugme.osdl.org.
cifs does this correct, and no samba bug anyway