Use vput() instead of vrele() in null_reclaim() since the lower vnode

is locked.

MFC after:	3 days
This commit is contained in:
Suleiman Souhlal 2005-09-02 15:49:55 +00:00
parent 75d7ba93af
commit cdeb72045b

View file

@ -634,16 +634,17 @@ null_reclaim(struct vop_reclaim_args *ap)
VI_LOCK(vp);
vp->v_data = NULL;
VI_UNLOCK(vp);
if (lowervp) {
if (lowervp)
null_hashrem(xp);
vrele(lowervp);
}
vp->v_object = NULL;
vnlock = vp->v_vnlock;
vp->v_vnlock = &vp->v_lock;
lockmgr(vp->v_vnlock, LK_EXCLUSIVE, NULL, curthread);
lockmgr(vnlock, LK_RELEASE, NULL, curthread);
if (lowervp) {
vput(lowervp);
} else
lockmgr(vnlock, LK_RELEASE, NULL, curthread);
FREE(xp, M_NULLFSNODE);
return (0);