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)
{