Re: mount dos-partition bug

Andries Brouwer (Andries.Brouwer@cwi.nl)
Thu, 1 Feb 2001 00:39:12 +0100


Andreas Huppert wrote:

> > I have been trying to mount the dos-partition /dev/hdb1 on /dos/d for
> > three years and it fails:

Yes. It has 805998 data sectors, which require 50374 clusters,
but the fat16 has room only to describe 39168 clusters.
The kernel mount code considers this an error.

You can remove the check in linux/fs/fat/inode.c
and write something like

error = !sbi->fats || (sbi->dir_entries & (MSDOS_DPS-1))
#if 0
|| sbi->clusters+2 > fat_clusters+ MSDOS_MAX_EXTRA
#endif
|| (logical_sector_size & (SECTOR_SIZE-1))
|| !b->secs_track || !b->heads;

(the current layout is somewhat uglier).
I would expect that afterwards things work.

If you use this under Windows, do you get over 400 MB on this disk?
Or was part of this partition effectively lost?

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