Revert rev 1.28 -> 1.29. The VOP_CLOSE call was happeneing with the vnode
already locked, so don't lock it here.
This commit is contained in:
parent
dad5b69f37
commit
56f2ef9f29
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: uvm_swap.c,v 1.30 1999/11/15 18:49:15 fvdl Exp $ */
|
/* $NetBSD: uvm_swap.c,v 1.31 2000/01/04 21:37:54 wrstuden Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995, 1996, 1997 Matthew R. Green
|
* Copyright (c) 1995, 1996, 1997 Matthew R. Green
|
||||||
|
@ -1049,11 +1049,8 @@ bad:
|
||||||
/*
|
/*
|
||||||
* failure: close device if necessary and return error.
|
* failure: close device if necessary and return error.
|
||||||
*/
|
*/
|
||||||
if (vp != rootvp) {
|
if (vp != rootvp)
|
||||||
vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
|
|
||||||
(void)VOP_CLOSE(vp, FREAD|FWRITE, p->p_ucred, p);
|
(void)VOP_CLOSE(vp, FREAD|FWRITE, p->p_ucred, p);
|
||||||
VOP_UNLOCK(vp, 0);
|
|
||||||
}
|
|
||||||
return (error);
|
return (error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1102,11 +1099,8 @@ swap_off(p, sdp)
|
||||||
extent_destroy(sdp->swd_ex);
|
extent_destroy(sdp->swd_ex);
|
||||||
free(name, M_VMSWAP);
|
free(name, M_VMSWAP);
|
||||||
free((caddr_t)sdp->swd_ex, M_VMSWAP);
|
free((caddr_t)sdp->swd_ex, M_VMSWAP);
|
||||||
if (sdp->swp_vp != rootvp) {
|
if (sdp->swp_vp != rootvp)
|
||||||
vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
|
|
||||||
(void) VOP_CLOSE(sdp->swd_vp, FREAD|FWRITE, p->p_ucred, p);
|
(void) VOP_CLOSE(sdp->swd_vp, FREAD|FWRITE, p->p_ucred, p);
|
||||||
VOP_UNLOCK(vp, 0);
|
|
||||||
}
|
|
||||||
if (sdp->swd_vp)
|
if (sdp->swd_vp)
|
||||||
vrele(sdp->swd_vp);
|
vrele(sdp->swd_vp);
|
||||||
free((caddr_t)sdp, M_VMSWAP);
|
free((caddr_t)sdp, M_VMSWAP);
|
||||||
|
|
Loading…
Reference in New Issue