Return to BSD News archive
Path: sserve!newshost.anu.edu.au!munnari.oz.au!bunyip.cc.uq.oz.au!harbinger.cc.monash.edu.au!yeshua.marcam.com!usc.edu!howland.reston.ans.net!news.intercon.com!udel!newsserv.cs.sunysb.edu!stark.UUCP!stark!stark!gene From: stark!gene@newsserv.cs.sunysb.edu (Gene Stark) Newsgroups: comp.os.386bsd.questions Subject: Re: replies to fsck problem Date: 25 Dec 93 08:00:06 Organization: Gene Stark's home system Lines: 36 Message-ID: <STARK!GENE.93Dec25080006@stark.uucp> References: <13@w2xo.pgh.pa.us> NNTP-Posting-Host: stark.uucp In-reply-to: durham@w2xo.pgh.pa.us's message of 24 Dec 93 04:42:53 GMT >Here is a synopsis of my correspondance concerning fsck >hanging up on Freebsd.... stuff copiously removed for brevity.... >Apparently, the WD driver requires that you have the c partition pointing >to the entire disk, and the d partition pointing to that portion of the >disk used by FreeBSD. The d partition can be *the same* as the c partition, >if you are using the whole disk for FreeBSD. Notice , in the example This is backwards! The WD driver uses the d 'partition' as a special hook for accessing the whole drive, even the part lying outside the FreeBSD area. If you newfs this and mount this as a regular partition, you are playing with fire! The c partition is conventionally set to cover the whole FreeBSD area. It might be safe to violate this convention and use c as a regular partition, however I wouldn't do it without out scanning *all* relevant sources (WD driver, disklabel, fdisk, mount, fsck, etc.) to make sure that c is not hard coded in there somehow. >What I did then was run "disklabel -w /dev/rwd1a st251" . This >partitioned the disk correctly. I then newfs'ed the d partition and >fsck began to work as advertised. Just so you don't get real comfortable, I'd like to point out that the fact that fsck is now working without hanging is probably just an artifact of the fact that things are now getting done in a different order. There is still a bug in the WD driver which causes it to hang on the first (single-sector) read from a drive, when there are two drives on the controller and under certain circumstances of timing. I spent some time pinning this down, but I don't have a real fix because I don't have proper documentation on programming the WD interface. As far as I know, the problem is that *nobody* seems to know for sure exactly how the disks are supposed to work, and differences in timing between various systems makes it very difficult to be sure that a change that fixes something on one system won't break something on another system. - Gene Stark --