@@ -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;
+ }
}
@@ -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