We are running ONTAP 5.2.3D1 in a mixed CIFS and NFS environment. Recently we encountered a directory that had two different files with the same name under NFS. This was reported by
ls -ali | grep NEW
1176207 -rwxr-xr-x 1 1224 1224 674 Nov 10 10:32 NEW2.GIF 3907524 -rwxr-xr-x 1 1224 1224 674 Nov 10 10:32 NEW2.GIF
Yes, we checked very carefully and there are no spaces or other unprintable characters in the names. Not trusting "ls" I even wrote a little perl script that calls readdir to print out the filenames and they are indeed identical.
Actually, this ls output is erroneous because the two files have different permissions and mod time. Still, this does show the different inode numbers, indicating two distinct files. From W98 you can see these are two different files. One is named NEW2.GIF and the other is named NEW2~0.GIF. And the mod times are indeed different.
So I conclude that we have a filename mapping problem where two different files map to the same NFS name. Is this a normal situation that should be expected periodically, or should this "never happen"?
We know that under NFS you can create two files with the same spelling but different capitalization, but these are not allowed under CIFS. So when a NFS dir containing such conflicts gets converted to CIFS, the filenames are "massaged" by having ~number appear in the CIFS name. However, we couldn't come up with a repeat-by where we could create two files under CIFS with the same NFS name. Anyone else figure out how to do it?
Also, once you have a situation like the above, it seems like it's a toss up as to which of the two files you see under NFS. Running
ls -li NEW2.GIF
on one NFS client showed one of the inums while running the same command on another NFS client showed the other. So this could cause confusion.
Has anyone else experienced this?
Steve Losen scl@virginia.edu phone: 804-924-0640
University of Virginia ITC Unix Support