null_lookup() vnode locking wierdness

Boris Popov bp at
Sun Nov 23 22:53:59 PST 2003

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

More information about the freebsd-current mailing list