summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2005-04-03 22:56:58 +0000
committerjeff <jeff@FreeBSD.org>2005-04-03 22:56:58 +0000
commit0eef91eae930fc1e84c9508e2421c185003a6559 (patch)
treefd1ffedcb94e7147b5fceabe962ca4d2742c03c8 /sys
parentd126ccab5aba0f029a34f388f8a1dfabb15f16ab (diff)
downloadFreeBSD-src-0eef91eae930fc1e84c9508e2421c185003a6559.zip
FreeBSD-src-0eef91eae930fc1e84c9508e2421c185003a6559.tar.gz
- Don't NULL the vnode's v_object pointer until after the object is torn
down. If we have dirty pages, the putpages routine will need to know what the vnode's object is so that it may write out dirty pages. Pointy hat: phk Found by: obrien
Diffstat (limited to 'sys')
-rw-r--r--sys/vm/vnode_pager.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c
index 3f8c10d..2ad9d15 100644
--- a/sys/vm/vnode_pager.c
+++ b/sys/vm/vnode_pager.c
@@ -159,7 +159,6 @@ vnode_destroy_vobject(struct vnode *vp)
if (obj == NULL)
return;
ASSERT_VOP_LOCKED(vp, "vnode_destroy_vobject");
- vp->v_object = NULL;
VM_OBJECT_LOCK(obj);
if (obj->ref_count == 0) {
/*
@@ -181,6 +180,7 @@ vnode_destroy_vobject(struct vnode *vp)
vm_pager_deallocate(obj);
VM_OBJECT_UNLOCK(obj);
}
+ vp->v_object = NULL;
}
OpenPOWER on IntegriCloud