That's bash (not the kernel) not understanding how DOS/Windows/OS2 file
names work. Additional "." characters in a name are ignored by the (real)
FAT and VFAT (and NTFS and HPFS) filesystems, and the Linux vfat fs honors
this for compatibility.
There's no way for the kernel to feed back what it did, and bash doesn't
double-check what happened (mainly so it can pretend that symlinks are real
directories), so bash happily reports the directory as you specified it even
though it was correctly interpreted as ".." by the vfat code.
The fact that fs's other than vfat don't currently do this is considered a
bug (the vfat change was entered as a bugfix). It *does* matter when using
e.g. Wine, so probably the other fs modules will be changed to behave the
same way in the future.
(Perhaps the interpretation of additional dots should be a mount option, so
Wine/Twin/dosemu users could use the mount option to get filename
"bug-compatibility" with DOS-derived filesystems and others can get
Unix-style semantics?)
-- brandon s. allbery [os/2][linux][solaris][japh] allbery@kf8nh.apk.net system administrator [WAY too many hats] allbery@ece.cmu.edu electrical and computer engineering carnegie mellon university (bsa@kf8nh is still valid.)
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html