diff options
author | jeff <jeff@FreeBSD.org> | 2005-03-14 07:29:40 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2005-03-14 07:29:40 +0000 |
commit | eaf9deaeb70e433131a0320ac0ce9e5f7a8c9df7 (patch) | |
tree | 7e580b78d41f469ae299101fb7b6e3dffe558627 /sys/vm | |
parent | bb63517e7e0f7af6a62d67c01c83cb9c5cb2f8f7 (diff) | |
download | FreeBSD-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.c | 17 |
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); } |