Date: Tue, 26 Nov 1996 14:42:07 +0200 (SAT) From: Robert Nordier <rnordier@iafrica.com> To: bde@zeta.org.au (Bruce Evans) Cc: jkh@time.cdrom.com, rnordier@iafrica.com, grog@lemis.de, hackers@FreeBSD.ORG Subject: Re: A simple way to crash your system. Message-ID: <199611261242.OAA02954@eac.iafrica.com> In-Reply-To: <199611261205.XAA06641@godzilla.zeta.org.au> from Bruce Evans at "Nov 26, 96 11:05:10 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
Bruce Evans wrote: > >FWIW, the table below represents a couple of months of collecting > >data from users on -questions, who reported that the msdosfs had > >seriously corrupted a UFS partition. > > > > DRIVE DOS START DOS END > > cyl head sect || cyl head sect cyl head sect size > >------------------------------------------------------------------- > >wd0 | 525 | 64 | 63 || 0 | 1 | 1 | 126 | 63 | 63 | 512001 > >wd0 | 2099 | 64 | 63 || 0 | 1 | 1 | 189 | 63 | 63 | 766017 > > same drive || 250 | 0 | 1 | 523 | 63 | 63 | 1104768 > >wd0 | 788 | 64 | 63 || 0 | 1 | 1 | 787 | 63 | 63 | 3177153 > >wd0 | 621 | 64 | 63 || 0 | 1 | 1 | 619 | 63 | 63 | 2499777 > >wd0 | 525 | 64 | 63 || 0 | 1 | 1 | 523 | 63 | 63 | 2112705 > > > >*All* problems occurred with the DOS FS on a 64/63 IDE drive. FIPS > >was not necessarily used. In one case, the corrupted UFS fs was > >actually on another drive. > > That can't be the problem, since FreeBSD ignores the geometry in both > the driver and in msdosfs. OK: just a tempting assumption based on the available data, plus the fact that I found the problem impossible to reproduce on several large heads=16, sectors/track=63 IDE drives (even for 64-sector block sizes: the maximum DOS supports). > > >Unless someone is aware of the problem being more general, it may > > MAXBSIZE = 16384. I'm not sure exactly what using larger blocks breaks, > if anything (blocks up to MAXPHYS=64K are sometimes used and work OK), > but ufs is careful to reject file systems with a larger block size. There was one (though unconfirmed) reported case of corruption involving a DOS FS with a 32-sector block size, so I suggested 8192. Either way, it might be a good thing for the current msdosfs to reject larger block sizes as well by default, possibly overrideable by a mount_msdos option or a kernel config statement. -- Robert Nordier
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611261242.OAA02954>