Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Nov 2003 12:53:53 +0600
From:      Boris Popov <bp@freebsd.org>
To:        Don Lewis <truckman@FreeBSD.org>
Cc:        current@FreeBSD.org
Subject:   Re: null_lookup() vnode locking wierdness
Message-ID:  <20031124065353.GC42142@vertex.kz>
In-Reply-To: <200311240016.hAO0GAeF006560@gw.catspoiler.org>
References:  <200311232357.hANNv1eF006528@gw.catspoiler.org> <200311240016.hAO0GAeF006560@gw.catspoiler.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Nov 23, 2003 at 04:16:10PM -0800, Don Lewis wrote:
> On 23 Nov, I wrote:
> > I was trying to figure out why the VOP_UNLOCK() call in null_lookup()
> > was violating a vnode locking assertion, so I tossed a bunch of
> > ASSERT_VOP_LOCKED() calls into null_lookup().  I found something I don't
> > understand ...
> > 
> It looks like the easiest fix is to skip the VOP_UNLOCK() call in
> null_lookup() if dvp->v_vnlock == ldvp->v_vnlock.

	Yes, this seems to be correct and necessary addition.  At first sight,
the later code shouldn't blow because of that.  BTW, buildworld -jN on top of
the null mount together with another buildword -jN on the underlying file 
system helps a lot to discover vnode locking problems.

-- 
Boris Popov
http://rbp.euro.ru



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