All new accounts created on Gitlab now require administrator approval. If you invite any collaborators, please let Flux staff know so they can approve the accounts.

Commit c53a7285 authored by Avi Kivity's avatar Avi Kivity Committed by Kevin Wolf

block: fix aio_flush segfaults for read-only protocols (e.g. curl)

Not all block format drivers expose an io_flush method (reasonable for
read-only protocols), so calling io_flush there will immediately segfault.

Fix by checking for the method's existence before calling it.
Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
parent 81a204e4
...@@ -113,7 +113,9 @@ void qemu_aio_flush(void) ...@@ -113,7 +113,9 @@ void qemu_aio_flush(void)
qemu_aio_wait(); qemu_aio_wait();
QLIST_FOREACH(node, &aio_handlers, node) { QLIST_FOREACH(node, &aio_handlers, node) {
ret |= node->io_flush(node->opaque); if (node->io_flush) {
ret |= node->io_flush(node->opaque);
}
} }
} while (qemu_bh_poll() || ret > 0); } while (qemu_bh_poll() || ret > 0);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment