Subject: Re: Recent fs instability
To: Manuel Bouyer <bouyer@antioche.lip6.fr>
From: Chris G. Demetriou <cgd@netbsd.org>
List: tech-kern
Date: 11/03/1999 23:06:59
Manuel Bouyer <bouyer@antioche.lip6.fr> writes:
> Soory for the delay, it was at home.
> It's line 6731 in ncr.c * (seems to be 6733 now):
> default:
> /*
> ** lookup the ccb
> */
> dsa = INL (nc_dsa);
> cp = np->ccb;
> while (cp && (CCB_PHYS (cp, phys) != dsa))
> cp = cp->link_ccb;
>
> assert (cp);
> if (!cp)
> goto out;
> assert (cp == np->ncb_dma->header.cp);
> if (cp != np->ncb_dma->header.cp)
> goto out;
> }
>
> This seems to happen for multiple tranfers only: I can dd from the raw device
> or work a bit on a mounted part without much troubles. But once there are
> some dirty buffer, a 'sync' will reliably trigger the problem.
sounds like you're running -current, eh? running 1.87 of ncr.c, right?
have you tried back-rev'ing any or all of the recent changes to ncr.c?
Could your tell me if you see this problem after changing the #if 0 to
#if 1 in ncr_settags()?
Also, have you seen any queue full or other assertion failure
messages?
cgd
--
Chris Demetriou - cgd@netbsd.org - http://www.netbsd.org/People/Pages/cgd.html
Disclaimer: Not speaking for NetBSD, just expressing my own opinion.