qemu-patch-raspberry4/tests
Stefan Hajnoczi 164a101f28 aio: stop using .io_flush()
Now that aio_poll() users check their termination condition themselves,
it is no longer necessary to call .io_flush() handlers.

The behavior of aio_poll() changes as follows:

1. .io_flush() is no longer invoked and file descriptors are *always*
monitored.  Previously returning 0 from .io_flush() would skip this file
descriptor.

Due to this change it is essential to check that requests are pending
before calling qemu_aio_wait().  Failure to do so means we block, for
example, waiting for an idle iSCSI socket to become readable when there
are no requests.  Currently all qemu_aio_wait()/aio_poll() callers check
before calling.

2. aio_poll() now returns true if progress was made (BH or fd handlers
executed) and false otherwise.  Previously it would return true whenever
'busy', which means that .io_flush() returned true.  The 'busy' concept
no longer exists so just progress is returned.

Due to this change we need to update tests/test-aio.c which asserts
aio_poll() return values.  Note that QEMU doesn't actually rely on these
return values so only tests/test-aio.c cares.

Note that ctx->notifier, the EventNotifier fd used for aio_notify(), is
now handled as a special case.  This is a little ugly but maintains
aio_poll() semantics, i.e. aio_notify() does not count as 'progress' and
aio_poll() avoids blocking when the user has not set any fd handlers yet.

Patches after this remove .io_flush() handler code until we can finally
drop the io_flush arguments to aio_set_fd_handler() and friends.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2013-08-19 15:45:35 +02:00
..
libqos libqos: Generalize I/O-mapped fw_cfg 2013-07-18 13:27:47 -05:00
qapi-schema qapi.py: Permit comments starting anywhere on the line 2013-07-29 10:37:11 -05:00
qemu-iotests vmdk: check l1 size before opening image 2013-08-06 15:27:32 +02:00
tcg xtensa queue 2013-07-29 2013-08-05 08:06:25 -05:00
.gitignore Add some missing qtest binaries to .gitignore 2013-02-21 10:33:54 +01:00
boot-order-test.c boot-order-test: Add tests for Sun4u 2013-07-18 13:27:47 -05:00
check-block.sh Add 'make check-block' 2012-03-12 15:14:07 +01:00
check-qdict.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
check-qfloat.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
check-qint.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
check-qjson.c qjson: to_json() case QTYPE_QSTRING is buggy, rewrite 2013-04-13 19:40:25 +00:00
check-qlist.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
check-qstring.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
endianness-test.c pc-testdev: add I/O port to test memory.c auto split/combine 2013-07-25 08:12:28 -05:00
fdc-test.c libqtest: New qtest_end() to go with qtest_start() 2013-07-18 11:32:55 -05:00
fw_cfg-test.c libqos: Generalize I/O-mapped fw_cfg 2013-07-18 13:27:47 -05:00
hd-geo-test.c libqtest: New qtest_end() to go with qtest_start() 2013-07-18 11:32:55 -05:00
i440fx-test.c i440fx-test: add test for PAM functionality 2013-04-17 10:27:47 -05:00
ide-test.c libqtest: New qtest_end() to go with qtest_start() 2013-07-18 11:32:55 -05:00
libqtest.c libqtest: Plug fd and memory leaks in qtest_quit() 2013-07-18 11:32:54 -05:00
libqtest.h libqtest: New qtest_end() to go with qtest_start() 2013-07-18 11:32:55 -05:00
m48t59-test.c qtest: Add MMIO support 2013-02-18 08:39:10 -06:00
Makefile tests: Use qapi-schema-test.json as schema parser test 2013-07-29 10:37:10 -05:00
qemu-iotests-quick.sh make check: Add qemu-iotests subset 2012-03-12 15:14:07 +01:00
rtc-test.c hw: move headers to include/ 2013-04-08 18:13:10 +02:00
test-aio.c aio: stop using .io_flush() 2013-08-19 15:45:35 +02:00
test-bitops.c tests: Add test-bitops.c with some sextract tests 2013-07-22 15:41:49 -05:00
test-coroutine.c coroutine: trim down nesting level in perf_nesting test 2013-02-22 21:21:10 +01:00
test-cutils.c cutils: unsigned int parsing functions 2013-02-04 14:38:33 -06:00
test-hbitmap.c hbitmap: add assertion on hbitmap_iter_init 2013-01-25 18:18:35 +01:00
test-int128.c int128: optimize and add test cases 2013-07-02 08:17:01 +02:00
test-iov.c test-iov: add iov_discard_front/back() testcases 2013-01-02 15:58:09 +01:00
test-mul64.c tests: Add unit tests for mulu64 and muls64 2013-02-17 14:28:58 +00:00
test-qmp-commands.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
test-qmp-input-strict.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
test-qmp-input-visitor.c misc: Use g_assert_not_reached for code which is expected to be unreachable 2013-07-27 11:22:54 +04:00
test-qmp-output-visitor.c misc: Use g_assert_not_reached for code which is expected to be unreachable 2013-07-27 11:22:54 +04:00
test-string-input-visitor.c tests/test-string-input-visitor: Handle errors provoked by fuzz test 2013-02-07 13:22:50 -02:00
test-string-output-visitor.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
test-thread-pool.c tests: adjust test-thread-pool to new aio_poll() semantics 2013-08-19 15:45:35 +02:00
test-visitor-serialization.c misc: Use g_assert_not_reached for code which is expected to be unreachable 2013-07-27 11:22:54 +04:00
test-x86-cpuid.c target-i386: Topology & APIC ID utility functions 2013-01-27 14:34:27 +01:00
test-xbzrle.c Add XBZRLE testing 2013-02-01 08:32:20 +01:00
tmp105-test.c libqos: Relocate I2C files 2013-05-03 12:03:14 -05:00