diff options
| author | Poul-Henning Kamp <phk@FreeBSD.org> | 2005-01-28 08:56:48 +0000 |
|---|---|---|
| committer | Poul-Henning Kamp <phk@FreeBSD.org> | 2005-01-28 08:56:48 +0000 |
| commit | 7146d6cb3e9b88a881f8133cb98106feb39a1f44 (patch) | |
| tree | f4b1cc4e11ee18932c18b5cd9488e2a1752f1a30 /sys/kern/vfs_default.c | |
| parent | 268334ebbdfb179dce21609d5985e03c731943d9 (diff) | |
Notes
Diffstat (limited to 'sys/kern/vfs_default.c')
| -rw-r--r-- | sys/kern/vfs_default.c | 28 |
1 files changed, 2 insertions, 26 deletions
diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c index 1798a9ec0cbb..73643e013c70 100644 --- a/sys/kern/vfs_default.c +++ b/sys/kern/vfs_default.c @@ -366,32 +366,8 @@ vop_stddestroyvobject(ap) struct vnode *vp; } */ *ap; { - struct vnode *vp = ap->a_vp; - vm_object_t obj = vp->v_object; - - if (obj == NULL) - return (0); - VM_OBJECT_LOCK(obj); - if (obj->ref_count == 0) { - /* - * vclean() may be called twice. The first time - * removes the primary reference to the object, - * the second time goes one further and is a - * special-case to terminate the object. - * - * don't double-terminate the object - */ - if ((obj->flags & OBJ_DEAD) == 0) - vm_object_terminate(obj); - else - VM_OBJECT_UNLOCK(obj); - } else { - /* - * Woe to the process that tries to page now :-). - */ - vm_pager_deallocate(obj); - VM_OBJECT_UNLOCK(obj); - } + + vnode_destroy_vobject(ap->a_vp); return (0); } |
