mount -t vfat /dev/fd0 /mnt/floppy
1. chown now always returns EPERM, while chmod reports success but fails.
2. The data corruption I observed previously is gone.
3. There seems to be a performance/buffer-locking problem. I start out
with (according to vmstat) the following: free is big, buff and cache are
small.
while true; do
cp -a /tmp/dir /mnt/floppy/dir
rm -rf /mnt/floppy/dir
done
(This used to cause data corruption, now it doesn't.)
free is big, buff is small, cache is normal
Then, on an ext2 fs,
dd if=/dev/zero of=/tmp/moo bs=10240 count=10000
dd if=/dev/zero of=/tmp/mu bs=10240 count=10000
free is small, buff is big, cache is same
cmp /tmp/moo /tmp/mu
now free is small, buff is small, cache is large, lots of swapping happened
rm /tmp/moo takes forever and ^C doesn't kill it --
had to stop the cp -a loop to get it to complete
[rm gets into refile_buffer and wait_on_buffer and stays there, apparently
looping]
free is large, buff is small
start the loop again,
now the dd also takes forever and doesn't write a single byte (perhaps I
didn't wait long enough, but I waited a long while).
dd in refile_buffer, kill the cp -a loop, dd goes to wait_on_buffer, then
starts writing file.. [I was not able to reproduce this later, apparently
when I did this again and more stuff got swapped out, there were then
enough free buffers]
So it seems that vfat is maybe overzealous in locking buffers?
Other things seems to be working OK -- legal and illegal renames, fs full
conditions, assorted odd stuff. No crashes or oopsen.
Dr. Tom Holroyd
I would dance and be merry,
Life would be a ding-a-derry,
If I only had a brain.
-- The Scarecrow
-
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.tux.org/lkml/