Tue Aug 4 23:31:57 2009 UTC ()
uvm_vnp_zerorange() logically and by implementation more a part of
ubc than uvm_vnode, so move it over.


(pooka)
diff -r1.66 -r1.67 src/sys/uvm/uvm_bio.c
diff -r1.91 -r1.92 src/sys/uvm/uvm_vnode.c

cvs diff -r1.66 -r1.67 src/sys/uvm/uvm_bio.c (expand / switch to context diff)
--- src/sys/uvm/uvm_bio.c 2008/11/27 08:46:09 1.66
+++ src/sys/uvm/uvm_bio.c 2009/08/04 23:31:57 1.67
@@ -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>
 
@@ -695,4 +696,33 @@
 	}
 
 	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;
+	}
 }

cvs diff -r1.91 -r1.92 src/sys/uvm/uvm_vnode.c (expand / switch to context diff)
--- src/sys/uvm/uvm_vnode.c 2009/08/04 23:03:01 1.91
+++ src/sys/uvm/uvm_vnode.c 2009/08/04 23:31:57 1.92
@@ -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"
 
@@ -370,34 +370,6 @@
 	KASSERT(vp->v_size <= newsize);
 	vp->v_writesize = newsize;
 	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