aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/vfs_vnops.c
diff options
context:
space:
mode:
authorDavid Greenman <dg@FreeBSD.org>1995-06-28 12:01:13 +0000
committerDavid Greenman <dg@FreeBSD.org>1995-06-28 12:01:13 +0000
commitaa2cabb958df199b3c381d3005266ef5b27cf214 (patch)
tree1798a14b6ddbde5307f451f4fd93057ae9ab0a0e /sys/kern/vfs_vnops.c
parent1d3c4bfc72350b19388fd8c118ff7f6da0ec02a2 (diff)
downloadsrc-aa2cabb958df199b3c381d3005266ef5b27cf214.tar.gz
src-aa2cabb958df199b3c381d3005266ef5b27cf214.zip
1) Converted v_vmdata to v_object.
2) Removed unnecessary vm_object_lookup()/pager_cache(object, TRUE) pairs after vnode_pager_alloc() calls - the object is already guaranteed to be persistent. 3) Removed some gratuitous casts.
Notes
Notes: svn path=/head/; revision=9356
Diffstat (limited to 'sys/kern/vfs_vnops.c')
-rw-r--r--sys/kern/vfs_vnops.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c
index bdd88d53938f..4cfb4e144694 100644
--- a/sys/kern/vfs_vnops.c
+++ b/sys/kern/vfs_vnops.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)vfs_vnops.c 8.2 (Berkeley) 1/21/94
- * $Id: vfs_vnops.c,v 1.10 1995/05/10 18:59:11 davidg Exp $
+ * $Id: vfs_vnops.c,v 1.11 1995/05/30 08:06:35 rgrimes Exp $
*/
#include <sys/param.h>
@@ -161,15 +161,11 @@ vn_open(ndp, fmode, cmode)
vm_pager_t pager;
retry:
if ((vp->v_flag & VVMIO) == 0) {
- pager = (vm_pager_t) vnode_pager_alloc(vp, 0, 0, 0);
- object = (vm_object_t) vp->v_vmdata;
- if (object->pager != pager)
- panic("vn_open: pager/object mismatch");
- (void) vm_object_lookup(pager);
- pager_cache(object, TRUE);
+ if (vnode_pager_alloc(vp, 0, 0, 0) == NULL)
+ panic("vn_open: failed to alloc pager");;
vp->v_flag |= VVMIO;
} else {
- if ((object = (vm_object_t)vp->v_vmdata) &&
+ if ((object = vp->v_object) &&
(object->flags & OBJ_DEAD)) {
VOP_UNLOCK(vp);
tsleep(object, PVM, "vodead", 0);
@@ -244,9 +240,9 @@ vn_close(vp, flags, cred, p)
*/
if (vp->v_flag & VVMIO) {
vrele(vp);
- if( vp->v_vmdata == NULL)
+ if (vp->v_object == NULL)
panic("vn_close: VMIO object missing");
- vm_object_deallocate( (vm_object_t) vp->v_vmdata);
+ vm_object_deallocate(vp->v_object);
} else
vrele(vp);
return (error);