[PATCH] fat/inode.c

From: Andries.Brouwer
Date: Fri Jul 02 2004 - 13:32:06 EST


Two years ago, OGAWA Hirofumi removed some ugly code and
added a few simple tests to the FAT filesystem code,
intended to avoid recognizing non-FAT as FAT (for people who
fail to specify rootfstype=, forcing the kernel to guess).

That worked fairly well, until this year.
I have now seen a thread in Czech and a report from Holland
that involved the "FAT: bogus sectors-per-track value"
error message.

The patch below removes this test again. The advantage is that
some real-life FAT filesystems can be mounted again.
The disadvantage that more non-FAT fss will be accepted as FAT.

Ferry van Steen <freaky@xxxxxxxxxxxxx> reports
"the patch Andries Brouwer gave me seems to work".

Signed-off-by: Andries Brouwer <aeb@xxxxxx>

diff -uprN -X /linux/dontdiff a/fs/fat/inode.c b/fs/fat/inode.c
--- a/fs/fat/inode.c 2004-06-24 17:11:20
+++ b/fs/fat/inode.c 2004-07-02 19:25:21
@@ -830,18 +830,12 @@ int fat_fill_super(struct super_block *s
brelse(bh);
goto out_invalid;
}
- if (!b->secs_track) {
- if (!silent)
- printk(KERN_ERR "FAT: bogus sectors-per-track value\n");
- brelse(bh);
- goto out_invalid;
- }
- if (!b->heads) {
- if (!silent)
- printk(KERN_ERR "FAT: bogus number-of-heads value\n");
- brelse(bh);
- goto out_invalid;
- }
+
+ /*
+ * Earlier we checked here that b->secs_track and b->head are nonzero,
+ * but it turns out valid FAT filesystems can have zero there.
+ */
+
media = b->media;
if (!FAT_VALID_MEDIA(media)) {
if (!silent)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/