FAT statfs loop abort on read-error

Sancho Dauskardt (sda@bdit.de)
Fri, 04 Jul 2003 13:57:19 +0200


Hi all,

i've written to the current FAT maintainer (Gordon Chaffee) about this,
but he's no longer active, so:

While working in the usb-sotrage area (mostly with removeable media, eg.
CompactFlash in USB-Readers), i've come across a litte odd behaviour:

when calling statfs on a volume that has been removed (without umount)
fat_statfs() will attempt to read all sectors of the fat table quite a few
times (depending on the fat type, eg. FAT16 --> 256 times).

eg:
1. mount /dev/sda1 /mnt/cf
2. remove card
3. df

on my system, for a 16 MB CompactFlash formated with FAT-16 this takes 47
seconds.

Possible solution:
1. let default_fat_access return something like -2 on 'can't read' error.
2. Abort stafs loop on error.
3. return -EIO

This would break mode fat_access calls. I could make a patch, but I don't
know what's going on with those cvf extensions (which seem to replace
fat_access). Is dmsdos dead / can we ignore it ?
Somewhere in the list archives, I found comments about the cvf stuff being
completely removed ?

Thanks,
- sda

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/