qemu-e2k/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
check-qfloat.c
check-qint.c
check-qjson.c
check-qlist.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
check-qstring.c
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
ide-test.c libqtest: New qtest_end() to go with qtest_start() 2013-07-18 11:32:55 -05:00
libqtest.c
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
rtc-test.c
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
test-cutils.c
test-hbitmap.c
test-int128.c int128: optimize and add test cases 2013-07-02 08:17:01 +02:00
test-iov.c
test-mul64.c tests: Add unit tests for mulu64 and muls64 2013-02-17 14:28:58 +00:00
test-qmp-commands.c
test-qmp-input-strict.c
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
test-string-output-visitor.c
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
test-xbzrle.c
tmp105-test.c