diff options
author | David Greenman <dg@FreeBSD.org> | 1995-06-28 12:01:13 +0000 |
---|---|---|
committer | David Greenman <dg@FreeBSD.org> | 1995-06-28 12:01:13 +0000 |
commit | aa2cabb958df199b3c381d3005266ef5b27cf214 (patch) | |
tree | 1798a14b6ddbde5307f451f4fd93057ae9ab0a0e /sys/nfsclient | |
parent | 1d3c4bfc72350b19388fd8c118ff7f6da0ec02a2 (diff) | |
download | src-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/nfsclient')
-rw-r--r-- | sys/nfsclient/nfs_subs.c | 46 |
1 files changed, 21 insertions, 25 deletions
diff --git a/sys/nfsclient/nfs_subs.c b/sys/nfsclient/nfs_subs.c index 350ba469d289..86bb5a913036 100644 --- a/sys/nfsclient/nfs_subs.c +++ b/sys/nfsclient/nfs_subs.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_subs.c 8.3 (Berkeley) 1/4/94 - * $Id: nfs_subs.c,v 1.16 1995/06/14 06:23:38 joerg Exp $ + * $Id: nfs_subs.c,v 1.17 1995/06/27 11:06:47 dfr Exp $ */ /* @@ -1896,54 +1896,50 @@ nfsrv_errmap(nd, err) } int -nfsrv_vmio( struct vnode *vp) { +nfsrv_vmio(struct vnode *vp) { vm_object_t object; vm_pager_t pager; - if( (vp == NULL) || (vp->v_type != VREG)) + if ((vp == NULL) || (vp->v_type != VREG)) return 1; retry: - if( (vp->v_flag & VVMIO) == 0) { - pager = (vm_pager_t) vnode_pager_alloc((caddr_t) vp, 0, 0, 0); - object = (vm_object_t) vp->v_vmdata; - if( object->pager != pager) - panic("nfsrv_vmio: pager/object mismatch"); - (void) vm_object_lookup( pager); - pager_cache( object, TRUE); + if ((vp->v_flag & VVMIO) == 0) { + if (vnode_pager_alloc(vp, 0, 0, 0) == NULL) + panic("nfsrv_vmio: 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)) { - tsleep( (caddr_t) object, PVM, "nfdead", 0); + tsleep(object, PVM, "nfdead", 0); goto retry; } - if( !object) + if (!object) panic("nfsrv_vmio: VMIO object missing"); pager = object->pager; - if( !pager) + if (!pager) panic("nfsrv_vmio: VMIO pager missing"); - (void) vm_object_lookup( pager); + (void) vm_object_lookup(pager); } return 0; } int -nfsrv_vput( struct vnode *vp) { - if( (vp->v_flag & VVMIO) && vp->v_vmdata) { - vput( vp); - vm_object_deallocate( (vm_object_t) vp->v_vmdata); +nfsrv_vput(struct vnode *vp) { + if ((vp->v_flag & VVMIO) && vp->v_object) { + vput(vp); + vm_object_deallocate(vp->v_object); } else { - vput( vp); + vput(vp); } return 0; } int -nfsrv_vrele( struct vnode *vp) { - if( (vp->v_flag & VVMIO) && vp->v_vmdata) { - vrele( vp); - vm_object_deallocate( (vm_object_t) vp->v_vmdata); +nfsrv_vrele(struct vnode *vp) { + if ((vp->v_flag & VVMIO) && vp->v_object) { + vrele(vp); + vm_object_deallocate(vp->v_object); } else { - vrele( vp); + vrele(vp); } return 0; } |