Linux' vfat filesystem bug

Vladimir Volovich (vvv@vvv.vsu.ru)
Sun, 01 Jun 1997 17:34:31 +0400


Hi,

There is a bug in a vfat drivers:

vvv:/dosc/test# echo aaa > filename
vvv:/dosc/test# echo bbbb > filename.
vvv:/dosc/test# echo ccc > longfilename
vvv:/dosc/test# echo dddd > longfilename.
vvv:/dosc/test# ls -l
total 32
-rw-r--r-- 1 root root 5 Jun 1 17:21 filename
-rw-r--r-- 1 root root 5 Jun 1 17:21 filename
-rw-r--r-- 1 root root 4 Jun 1 17:21 longfilename
-rw-r--r-- 1 root root 5 Jun 1 17:21 longfilename.
vvv:/dosc/test# cat filename
bbbb
vvv:/dosc/test# cat filename.
cat: filename.: No such file or directory
vvv:/dosc/test# rm filename.
rm: filename.: No such file or directory
vvv:/dosc/test# rm filename
vvv:/dosc/test# ls -l
total 24
-rw-r--r-- 1 root root 5 Jun 1 17:21 filename
-rw-r--r-- 1 root root 4 Jun 1 17:21 longfilename
-rw-r--r-- 1 root root 5 Jun 1 17:21 longfilename.
vvv:/dosc/test# cat filename
bbbb

I.e. Linux lets one to create a two files with the same name in one
directory.
This happens when filenames have the form of short MS-DOG filename
without and with a period. To correct this bug, the vfat drivers should
treat names like `file.' as long filenames with trailing period at the
end,
and should distinguish these filenames from names like `file.'.

-- 
With best regards,
                   Vladimir.