Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Oct 2002 08:36:55 -0700
From:      Steve Kargl <sgk@troutmask.apl.washington.edu>
To:        Brian Fundakowski Feldman <green@FreeBSD.ORG>
Cc:        current@FreeBSD.ORG
Subject:   Re: vnode locking screwed up in src/sys/ufs/ffs/ffs_snapshot.c:ffs_snapshot()
Message-ID:  <20021006153655.GA22115@troutmask.apl.washington.edu>
In-Reply-To: <200210051546.g95FkkX1008580@green.bikeshed.org>
References:  <200210051546.g95FkkX1008580@green.bikeshed.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Oct 05, 2002 at 11:46:45AM -0400, Brian Fundakowski Feldman wrote:
> I got a crash today because "xvp" did not have an interlock when the
> call was made to vn_lock(LK_INTERLOCK):
> 407             if (snapdebug)
> 408                   vprint("ffs_snapshot: busy vnode", xvp);
> 409             if (vn_lock(xvp, LK_EXCLUSIVE | LK_INTERLOCK, td) != 0)
> 410                    goto loop;
> 411              xp = VTOI(xvp);
> 412
> 
> I don't in fact see any reason why "xvp" would have been locked already
> and that this could possibly be valid in the face of a mountpoint which
> had any vnodes at all open.  This occurred on fscking my "/tmp"
> filesystem because of crashes (due to an SSE utilization bug in the
> kernel, it seems), which I'm sure was a filesystem in heavy use already.
> 
> Does anyone have any insight on what the correct fix to this is?  I
> don't have any idea exactly how to correct the locking in this function.
> Thanks for insight!
> 

I had the exact same panic while doing a background fsck
on /var.  I sent the kernel trace to the list yesterday,
and forwarded to Kirk.

-- 
Steve

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021006153655.GA22115>