qemu-patch-raspberry4/include/block
Paolo Bonzini e4c7e2d12d AioContext: export and use aio_dispatch
So far, aio_poll's scheme was dispatch/poll/dispatch, where
the first dispatch phase was used only in the GSource case in
order to avoid a blocking poll.  Earlier patches changed it to
dispatch/prepare/poll/dispatch, where prepare is aio_compute_timeout.

By making aio_dispatch public, we can remove the first dispatch
phase altogether, so that both aio_poll and the GSource use the same
prepare/poll/dispatch scheme.

This patch breaks the invariant that aio_poll(..., true) will not block
the first time it returns false.  This used to be fundamental for
qemu_aio_flush's implementation as "while (qemu_aio_wait()) {}" but
no code in QEMU relies on this invariant anymore.  The return value
of aio_poll() is now comparable with that of g_main_context_iteration.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2014-08-29 10:46:58 +01:00
..
aio.h AioContext: export and use aio_dispatch 2014-08-29 10:46:58 +01:00
block.h block: Add bdrv_refresh_filename() 2014-08-20 14:31:56 +02:00
block_int.h block: Add bdrv_refresh_filename() 2014-08-20 14:31:56 +02:00
blockjob.h block: drop aio functions that operate on the main AioContext 2014-07-09 15:50:11 +02:00
coroutine.h coroutine: Drop co_sleep_ns 2014-08-29 10:46:58 +01:00
coroutine_int.h coroutine: stop using AioContext in CoQueue 2013-05-24 16:17:56 +02:00
nbd.h nbd: Handle NBD_OPT_LIST option. 2014-06-30 12:50:17 +02:00
qapi.h block: make bdrv_query_stats() static 2014-06-27 18:19:57 +02:00
scsi.h scsi: Print command name in debug 2014-06-18 08:47:10 +02:00
snapshot.h qemu-nbd: support internal snapshot export 2013-12-04 15:19:00 +01:00
thread-pool.h threadpool: drop global thread pool 2013-03-15 16:07:51 +01:00