Source-Changes-HG archive

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

[src/trunk]: src/sys/rump/librump/rumpvfs make rump's uvm_aio_aiodone_pages()...



details:   https://anonhg.NetBSD.org/src/rev/b5795129114c
branches:  trunk
changeset: 957727:b5795129114c
user:      chs <chs%NetBSD.org@localhost>
date:      Wed Dec 09 00:03:32 2020 +0000

description:
make rump's uvm_aio_aiodone_pages() look more like the kernel version.
fixes some more rumpy assertions.

diffstat:

 sys/rump/librump/rumpvfs/vm_vfs.c |  14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diffs (35 lines):

diff -r cbd83b0a3e55 -r b5795129114c sys/rump/librump/rumpvfs/vm_vfs.c
--- a/sys/rump/librump/rumpvfs/vm_vfs.c Tue Dec 08 21:34:49 2020 +0000
+++ b/sys/rump/librump/rumpvfs/vm_vfs.c Wed Dec 09 00:03:32 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: vm_vfs.c,v 1.40 2020/10/22 03:05:17 chs Exp $  */
+/*     $NetBSD: vm_vfs.c,v 1.41 2020/12/09 00:03:32 chs Exp $  */
 
 /*
  * Copyright (c) 2008-2011 Antti Kantee.  All Rights Reserved.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vm_vfs.c,v 1.40 2020/10/22 03:05:17 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vm_vfs.c,v 1.41 2020/12/09 00:03:32 chs Exp $");
 
 #include <sys/param.h>
 
@@ -48,6 +48,16 @@
                pg = pgs[i];
                KASSERT((pg->flags & PG_PAGEOUT) == 0 ||
                        (pg->flags & PG_FAKE) == 0);
+
+               if (pg->flags & PG_FAKE) {
+                       KASSERT(!write);
+                       pg->flags &= ~PG_FAKE;
+                       KASSERT(uvm_pagegetdirty(pg) == UVM_PAGE_STATUS_CLEAN);
+                       uvm_pagelock(pg);
+                       uvm_pageenqueue(pg);
+                       uvm_pageunlock(pg);
+               }
+
        }
        uvm_page_unbusy(pgs, npages);
        rw_exit(uobj->vmobjlock);



Home | Main Index | Thread Index | Old Index