Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/uvm uao_put: recognize endoff == 0 as "to the end of the...



details:   https://anonhg.NetBSD.org/src/rev/6cd58513c6a6
branches:  trunk
changeset: 584340:6cd58513c6a6
user:      yamt <yamt%NetBSD.org@localhost>
date:      Tue Sep 13 19:54:09 2005 +0000

description:
uao_put: recognize endoff == 0 as "to the end of the object",
as VOP_PUTPAGES (thus vnode pager) does.  for tmpfs.

diffstat:

 sys/uvm/uvm_aobj.c |  10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diffs (31 lines):

diff -r 2308b571a873 -r 6cd58513c6a6 sys/uvm/uvm_aobj.c
--- a/sys/uvm/uvm_aobj.c        Tue Sep 13 17:13:50 2005 +0000
+++ b/sys/uvm/uvm_aobj.c        Tue Sep 13 19:54:09 2005 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: uvm_aobj.c,v 1.70 2005/07/31 04:04:47 yamt Exp $       */
+/*     $NetBSD: uvm_aobj.c,v 1.71 2005/09/13 19:54:09 yamt Exp $       */
 
 /*
  * Copyright (c) 1998 Chuck Silvers, Charles D. Cranor and
@@ -43,7 +43,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uvm_aobj.c,v 1.70 2005/07/31 04:04:47 yamt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvm_aobj.c,v 1.71 2005/09/13 19:54:09 yamt Exp $");
 
 #include "opt_uvmhist.h"
 
@@ -752,7 +752,11 @@
                by_list = TRUE;         /* always go by the list */
        } else {
                start = trunc_page(start);
-               stop = round_page(stop);
+               if (stop == 0) {
+                       stop = aobj->u_pages << PAGE_SHIFT;
+               } else {
+                       stop = round_page(stop);
+               }
                if (stop > (aobj->u_pages << PAGE_SHIFT)) {
                        printf("uao_flush: strange, got an out of range "
                            "flush (fixed)\n");



Home | Main Index | Thread Index | Old Index