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>