Return to BSD News archive
Newsgroups: comp.unix.bsd Path: sserve!manuel!munnari.oz.au!mips!mips!sdd.hp.com!caen!uunet!mcsun!sunic!aun.uninett.no!barsoom!barsoom!tih From: tih@barsoom.nhh.no (Tom Ivar Helbekkmo) Subject: Re: 2nd drive file ... (Actually wd ESDI problems) Message-ID: <tih.713684034@barsoom> Sender: news@barsoom.nhh.no (USENET News System) Organization: Norwegian School of Economics References: <Bsp5D6.B9p@obiwan.uucp> <165f2uINN6an@disaster.Germany.EU.net> <tih.713450893@barsoom> <193@asgard.mlb.dmt.csiro.au> Date: Thu, 13 Aug 1992 05:33:54 GMT Lines: 41 mjj@mlb.dmt.csiro.au (Murray Jensen) writes: >The area bad144 uses is at the end of *partition C*. It is supposed to use >only the last track + 126 sectors, but since you usually want filesystems >to be whole numbers of cylinders you might as well leave the whole last >cylinder free. The distributed disktab says you should leave 5 cylinders >for bad sector stuff, but after looking at this a bit I decided it was >wrong - can someone who knows for sure please comment? You've got it right -- the last track plus the last 126 sectors before that last track. In practice, you just leave out the minimal number of whole cylinders that will leave you with at least that many sectors unused. >My guess is that the BSD filesystem sector clustering code, which groups >sectors together to form larger "logical blocks" (I was using 4096 byte >logical blocks i.e. 8 sectors, in my filesystems - other people use 8192) >is somehow avoiding the bad144 bad sector forwarding mechanism when it >does the multiple sector read (or write). Right again -- the bad sector handling code doesn't handle bad sectors in any but the first of a multiple-sector I/O operation. I'm already working on the wd driver to make it correctly handle up to four disks on two controllers (well, really any number, but that's the practical limit on a PC), and I will be fixing the bad sector handling too while I'm at it. I just need to find and fix one timing and/or reentrancy problem that shows up when wdopen() calls readdisklabel(). For those who have reported lockups and other errors when trying to enable badsect on the second drive, while it works fine on the first, one thing to try is to make sure the disks are not fsck'ed at the same time from /etc/rc. That is, change the call to fsck in there from "fsck -p" to "fsck -p -l 1" (I *think* it was "-l", anyway, you want the option that limits the number of simultaneous checks. For some controllers, this will work around the timing/reentrancy bug in the driver. Meanwhile, I'm still working on it... -tih -- Tom Ivar Helbekkmo, NHH, Bergen, Norway. Telephone: +47-5-959205 Postmaster for domain nhh.no. Internet mail: tih@barsoom.nhh.no