From owner-freebsd-hackers Mon Apr 17 13:27:44 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from ewok.creative.net.au (fuzzy.aussie.com.au [203.30.44.82]) by hub.freebsd.org (Postfix) with SMTP id 38C4137B9A1 for ; Mon, 17 Apr 2000 13:27:39 -0700 (PDT) (envelope-from freebsd@ewok.creative.net.au) Received: (qmail 67900 invoked by uid 1008); 17 Apr 2000 20:27:35 -0000 Date: Tue, 18 Apr 2000 04:27:35 +0800 From: Adrian Chadd To: Matthew Dillon Cc: Adrian Chadd , freebsd-fs@FreeBSD.ORG, dchapes@borderware.com, freebsd-hackers@FreeBSD.ORG Subject: Re: vnode_free_list corruption [patch] Message-ID: <20000418042733.I59015@ewok.creative.net.au> References: <00Apr14.141908edt.117140@gateway.borderware.com> <20000415023148.F34852@ewok.creative.net.au> <200004141835.LAA71253@apollo.backplane.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.4i In-Reply-To: <200004141835.LAA71253@apollo.backplane.com>; from Matthew Dillon on Fri, Apr 14, 2000 at 11:35:21AM -0700 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Fri, Apr 14, 2000, Matthew Dillon wrote: > > :On Fri, Apr 14, 2000, Dave Chapeskie wrote: > :> Greetings. > :> > :> I've been seeing a rash of "free vnode isn't" panics lately. Some > :> machines were panicing several times a day. Along with this we saw > :> occasional "object inconsistent state: RPC: %d, RC: %d" messages. > : > : > :Throw it into a PR, and I'll assign it to myself and take a squizz.. > : > : > :Adrian > > I'll take a look at it too. Either way we'll get something committed. > Beware, though, even though there is obviously a bug (Dave obviously > found the bug!), the vgone/vdone/VDEAD interaction is extremely complex > so we have to be careful not to break other things while fixing this > one. Ok, my take on the code is this: * with the trace given, the vnode shouldn't even be marked VDOOMED, as its meant to be in use, * a vnode shouldn't ever reach vbusy when marked VDOOMED, as it should be ref/held and so shouldn't ever be considered to be cleaned, * I think a KASSERT should be added in vbusy() On my machine (400Mhz Celeron, 64mb RAM, single 4.2gig IDE disk) running current from a day ago, I can't reproduce the bug. Are you running with multiple spindles/softupdates ? I'll look at the code some more over the next couple of days. Any opinions ? Adrian To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message