summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authormartin <martin@NetBSD.org>2021-07-06 04:22:34 +0000
committermartin <martin@NetBSD.org>2021-07-06 04:22:34 +0000
commit45ed2e09b67dd512e2e97058cf2181f60b08d13a (patch)
treeb2cd4508effac874ee90eeaf3b7f7b4272808b00 /tests
parentfb9fc74a8780a7ae7ffcf12915be74c434d67cd0 (diff)
Pull up following revision(s) - all via patch -
(requested by riastradh in ticket #1317): sys/uvm/uvm_page.c: revision 1.248 sys/uvm/uvm_anon.c: revision 1.80 sys/rump/librump/rumpvfs/vm_vfs.c: revision 1.40 sys/rump/librump/rumpvfs/vm_vfs.c: revision 1.41 sys/rump/librump/rumpkern/vm.c: revision 1.191 sys/uvm/uvm_pager.c: revision 1.130 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.71 tests/rump/rumpkern/t_vm.c: revision 1.5 tests/rump/rumpkern/t_vm.c: revision 1.6 sys/rump/librump/rumpvfs/vm_vfs.c: revision 1.39 Move the handling of PG_PAGEOUT from uvm_aio_aiodone_pages() to uvm_page_unbusy() so that all callers of uvm_page_unbusy() don't need to handle this flag separately. Split out the pages part of uvm_aio_aiodone() into uvm_aio_aiodone_pages() in rump just like in the real kernel. In ZFS functions that can fail to copy data between the ARC and VM pages, use uvm_aio_aiodone_pages() rather than uvm_page_unbusy() so that we can handle these "I/O" errors. Fixes PR 55702. fix an incorrect assertion in the previous commit. Handle PG_PAGEOUT in uvm_anon_release() too. Commit the ZFS file that I forgot in this previous commit: Move the handling of PG_PAGEOUT from uvm_aio_aiodone_pages() to uvm_page_unbusy() so that all callers of uvm_page_unbusy() don't need to handle this flag separately. Split out the pages part of uvm_aio_aiodone() into uvm_aio_aiodone_pages() in rump just like in the real kernel. In ZFS functions that can fail to copy data between the ARC and VM pages, use uvm_aio_aiodone_pages() rather than uvm_page_unbusy() so that we can handle these "I/O" errors. Fixes PR 55702. update the rump copy of uvm_page_unbusy() to match the real version, in particular handle PG_PAGEOUT. fixes a few atf tests. the busypage test is buggy, expect it to fail. make rump's uvm_aio_aiodone_pages() look more like the kernel version. fixes some more rumpy assertions. for the busypage test, replace atf_tc_expect_fail() with atf_tc_skip() because atf apparently has no way to expect a test program to crash. fixes PR 55945.
Diffstat (limited to 'tests')
-rw-r--r--tests/rump/rumpkern/t_vm.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/tests/rump/rumpkern/t_vm.c b/tests/rump/rumpkern/t_vm.c
index ddb005c8eea..7eaed2b405a 100644
--- a/tests/rump/rumpkern/t_vm.c
+++ b/tests/rump/rumpkern/t_vm.c
@@ -1,4 +1,4 @@
-/* $NetBSD: t_vm.c,v 1.4 2017/01/13 21:30:43 christos Exp $ */
+/* $NetBSD: t_vm.c,v 1.4.16.1 2021/07/06 04:22:34 martin Exp $ */
/*-
* Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -50,6 +50,10 @@ ATF_TC_HEAD(busypage, tc)
ATF_TC_BODY(busypage, tc)
{
+#if 0
+ atf_tc_expect_fail("test bug: unbusies an uninitialized page");
+#endif
+ atf_tc_skip("this test is buggy and hits an assertion, but atf doesn't provide any way to expect that a test program crashes, this all we can do is skip");
rump_init();
rump_schedule();