Module Name: src Committed By: pooka Date: Tue Aug 4 23:31:57 UTC 2009
Modified Files: src/sys/uvm: uvm_bio.c uvm_vnode.c Log Message: uvm_vnp_zerorange() logically and by implementation more a part of ubc than uvm_vnode, so move it over. To generate a diff of this commit: cvs rdiff -u -r1.66 -r1.67 src/sys/uvm/uvm_bio.c cvs rdiff -u -r1.91 -r1.92 src/sys/uvm/uvm_vnode.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/uvm/uvm_bio.c diff -u src/sys/uvm/uvm_bio.c:1.66 src/sys/uvm/uvm_bio.c:1.67 --- src/sys/uvm/uvm_bio.c:1.66 Thu Nov 27 08:46:09 2008 +++ src/sys/uvm/uvm_bio.c Tue Aug 4 23:31:57 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: uvm_bio.c,v 1.66 2008/11/27 08:46:09 pooka Exp $ */ +/* $NetBSD: uvm_bio.c,v 1.67 2009/08/04 23:31:57 pooka Exp $ */ /* * Copyright (c) 1998 Chuck Silvers. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uvm_bio.c,v 1.66 2008/11/27 08:46:09 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uvm_bio.c,v 1.67 2009/08/04 23:31:57 pooka Exp $"); #include "opt_uvmhist.h" #include "opt_ubc.h" @@ -44,6 +44,7 @@ #include <sys/kmem.h> #include <sys/kernel.h> #include <sys/proc.h> +#include <sys/vnode.h> #include <uvm/uvm.h> @@ -696,3 +697,32 @@ return error; } + + +/* + * uvm_vnp_zerorange: set a range of bytes in a file to zero. + */ + +void +uvm_vnp_zerorange(struct vnode *vp, off_t off, size_t len) +{ + void *win; + int flags; + + /* + * XXXUBC invent kzero() and use it + */ + + while (len) { + vsize_t bytelen = len; + + win = ubc_alloc(&vp->v_uobj, off, &bytelen, UVM_ADV_NORMAL, + UBC_WRITE); + memset(win, 0, bytelen); + flags = UBC_WANT_UNMAP(vp) ? UBC_UNMAP : 0; + ubc_release(win, flags); + + off += bytelen; + len -= bytelen; + } +} Index: src/sys/uvm/uvm_vnode.c diff -u src/sys/uvm/uvm_vnode.c:1.91 src/sys/uvm/uvm_vnode.c:1.92 --- src/sys/uvm/uvm_vnode.c:1.91 Tue Aug 4 23:03:01 2009 +++ src/sys/uvm/uvm_vnode.c Tue Aug 4 23:31:57 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: uvm_vnode.c,v 1.91 2009/08/04 23:03:01 pooka Exp $ */ +/* $NetBSD: uvm_vnode.c,v 1.92 2009/08/04 23:31:57 pooka Exp $ */ /* * Copyright (c) 1997 Charles D. Cranor and Washington University. @@ -50,7 +50,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uvm_vnode.c,v 1.91 2009/08/04 23:03:01 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uvm_vnode.c,v 1.92 2009/08/04 23:31:57 pooka Exp $"); #include "opt_uvmhist.h" @@ -372,34 +372,6 @@ mutex_exit(&vp->v_interlock); } -/* - * uvm_vnp_zerorange: set a range of bytes in a file to zero. - */ - -void -uvm_vnp_zerorange(struct vnode *vp, off_t off, size_t len) -{ - void *win; - int flags; - - /* - * XXXUBC invent kzero() and use it - */ - - while (len) { - vsize_t bytelen = len; - - win = ubc_alloc(&vp->v_uobj, off, &bytelen, UVM_ADV_NORMAL, - UBC_WRITE); - memset(win, 0, bytelen); - flags = UBC_WANT_UNMAP(vp) ? UBC_UNMAP : 0; - ubc_release(win, flags); - - off += bytelen; - len -= bytelen; - } -} - bool uvn_text_p(struct uvm_object *uobj) {