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.