vfat troubles - bug?

Ulf Jaenicke-Roessler (ujr@physik.phy.tu-dresden.de)
Tue, 10 Feb 1998 07:39:11 +0100 (MET)


[ sorry, if this comes twice; I haven't seen it on the list yet -
one day after I sent it ]

Hello,

sometimes I have a bit of trouble with the vfat filesystem, which is
caused by the case sensitivity of the kernel for this case insensitive
filesystem. This is valid for both the stable and the unstable kernel.
Example1: Copying a file TEST.DAT or test.dat (created by plain DOS) from
a floppy to the Windows95 partition on the HD gives an error
(instead of an overwrite warning, what cp -i normally does),
when a file Test.dat (or with otherwise mixed case) exists.
Example2: Moving Test.c (created by Windows95) to test.c (in order to get
lower case filenames) gives another error (because it's the same
file).
When I reported this here some time ago, I was told, that this is
intentional behaviour of the kernel, in order to prevent overwriting
of files by accident, and should be handled, possibly, by a mount option.
Is this still true and are there any plans/"negotiations" for such a mount
option?

Anyway, the 2.1.x kernels (at least the latest, x=85) seem to use another
approach than 2.0.y for the case treatment. This causes really big troubles
(filesystem panic and remounting the vfat partition read-only) for the
following two cases:

a)
[/c/temp] > mkdir d_test
[/c/temp] > touch d_test/f_test
[/c/temp] > ls d_test
f_test
[/c/temp] > mv d_test D_TEST
mv: cannot move `d_test' to `D_TEST/d_test': Invalid argument
[/c/temp] > ls d_test
f_test
[/c/temp] > mv d_test d_test1
[/c/temp] > ls d_test1

yields strange results, sometimes nothing, sometimes the listing of
another directory (eg, the root of DOS's C drive).
These problems can normally, but not always, be solved by umounting
and remounting the partition.

b)
[/c/temp] > echo Test > t
[/c/temp] > mv t T
mv: `t' and `T' are the same file
[/c/temp] > mv t T1
[/c/temp] > mkdir t
FAT cache corruption inode=12306
[/c/temp] > ls -i
12308 T1 12306 t/

This doesn't happen with 2.0.33. Can somebody confirm this?

Thank you. Regards,

Ulf Jaenicke-Roessler

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu