Date: Wed, 28 Oct 1998 14:47:27 -0800 From: Mike Smith <mike@smith.net.au> To: Harold Gutch <logix@foobar.franken.de> Cc: Mike Smith <mike@smith.net.au>, stable@FreeBSD.ORG Subject: Re: HD problems Message-ID: <199810282247.OAA00727@dingo.cdrom.com> In-Reply-To: Your message of "Wed, 28 Oct 1998 23:41:41 %2B0100." <19981028234141.A913@foobar.franken.de>
next in thread | previous in thread | raw e-mail | index | archive | help
> On Wed, Oct 28, 1998 at 12:06:17PM -0800, Mike Smith wrote:
> > Your disk is taking longer to handle the error than we allow it to. Your
> > best bet at this point is probably to mount the partition forced
> > readonly (mount -f -o ro), copy everything meaningful off the the
> > partition, then dd zeroes over it to give the drive a chance to remap
> > the sector(s) in question.
> >
> Is there an easy way to set the timeout-values higher, like patch
> a couple of lines in the wd-driver to at least give me enough
> time to backup the whole thing, and then nuke the data that currently
> still is on it ?
> I hope this idea isn't foredoomed due to some other reason.
> If not, I'll try mounting it readonly and then go on...
Yup. Look for the code that looks like this:
/*
* Schedule wdtimeout() to wake up after a few seconds. Retrying
* unmarked bad blocks can take 3 seconds! Then it is not good that
* we retry 5 times.
*
* On the first try, we give it 10 seconds, for drives that may need
* to spin up.
*
* XXX wdtimeout() doesn't increment the error count so we may loop
* forever. More seriously, the loop isn't forever but causes a
* crash.
*
* TODO fix b_resid bug elsewhere (fd.c....). Fix short but positive
* counts being discarded after there is an error (in physio I
* think). Discarding them would be OK if the (special) file offset
* was not advanced.
*/
if (wdtab[ctrlr].b_errcnt == 0)
du->dk_timeout = 1 + 10;
else
du->dk_timeout = 1 + 3;
and change the 10 to 30 or so.
--
\\ Sometimes you're ahead, \\ Mike Smith
\\ sometimes you're behind. \\ mike@smith.net.au
\\ The race is long, and in the \\ msmith@freebsd.org
\\ end it's only with yourself. \\ msmith@cdrom.com
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810282247.OAA00727>
