aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2023-09-08 09:54:58 +0200
committerKevin Wolf <kwolf@redhat.com>2023-09-20 17:46:16 +0200
commitc428b392590df6364a025d5841e3e8a589ebfd4a (patch)
tree5c7c2add4902ec70da0241552fc5bab25ac10d4c
parent0f86afde66ea0d9a383878223ac07bd111c69692 (diff)
downloadqemu-c428b392590df6364a025d5841e3e8a589ebfd4a.zip
qemu-c428b392590df6364a025d5841e3e8a589ebfd4a.tar.gz
qemu-c428b392590df6364a025d5841e3e8a589ebfd4a.tar.bz2
block: mark aio_poll as non-coroutine
It is forbidden to block on the event loop during a coroutine, as that can cause deadlocks due to recursive locking. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-ID: <20230908075458.527013-1-pbonzini@redhat.com> Reviewed-by: Michael Tokarev <mjt@tls.msk.ru> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
-rw-r--r--include/block/aio.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/block/aio.h b/include/block/aio.h
index bcc165c..f08b358 100644
--- a/include/block/aio.h
+++ b/include/block/aio.h
@@ -467,7 +467,7 @@ void aio_dispatch(AioContext *ctx);
* or more AIO events have completed, to ensure something has moved
* before returning.
*/
-bool aio_poll(AioContext *ctx, bool blocking);
+bool no_coroutine_fn aio_poll(AioContext *ctx, bool blocking);
/* Register a file descriptor and associated callbacks. Behaves very similarly
* to qemu_set_fd_handler. Unlike qemu_set_fd_handler, these callbacks will