summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2005-03-14 07:29:40 +0000
committerjeff <jeff@FreeBSD.org>2005-03-14 07:29:40 +0000
commiteaf9deaeb70e433131a0320ac0ce9e5f7a8c9df7 (patch)
tree7e580b78d41f469ae299101fb7b6e3dffe558627 /sys/vm
parentbb63517e7e0f7af6a62d67c01c83cb9c5cb2f8f7 (diff)
downloadFreeBSD-src-eaf9deaeb70e433131a0320ac0ce9e5f7a8c9df7.zip
FreeBSD-src-eaf9deaeb70e433131a0320ac0ce9e5f7a8c9df7.tar.gz
- Retire OLOCK and OWANT. All callers hold the vnode lock when creating
a vnode object. There has been an assert to prove this for some time. Sponsored by: Isilon Systems, Inc.
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vnode_pager.c17
1 files changed, 0 insertions, 17 deletions
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c
index 6d7bc78..9a13911 100644
--- a/sys/vm/vnode_pager.c
+++ b/sys/vm/vnode_pager.c
@@ -208,18 +208,6 @@ vnode_pager_alloc(void *handle, vm_ooffset_t size, vm_prot_t prot,
ASSERT_VOP_LOCKED(vp, "vnode_pager_alloc");
/*
- * Prevent race condition when allocating the object. This
- * can happen with NFS vnodes since the nfsnode isn't locked.
- */
- VI_LOCK(vp);
- while (vp->v_iflag & VI_OLOCK) {
- vp->v_iflag |= VI_OWANT;
- msleep(vp, VI_MTX(vp), PVM, "vnpobj", 0);
- }
- vp->v_iflag |= VI_OLOCK;
- VI_UNLOCK(vp);
-
- /*
* If the object is being terminated, wait for it to
* go away.
*/
@@ -250,11 +238,6 @@ vnode_pager_alloc(void *handle, vm_ooffset_t size, vm_prot_t prot,
}
VI_LOCK(vp);
vp->v_usecount++;
- vp->v_iflag &= ~VI_OLOCK;
- if (vp->v_iflag & VI_OWANT) {
- vp->v_iflag &= ~VI_OWANT;
- wakeup(vp);
- }
VI_UNLOCK(vp);
return (object);
}
OpenPOWER on IntegriCloud