This is the initial result of reviving Marc-André's series at https://patchew.org/QEMU/20170704220346.29244-1-marcandre.lur...@redhat.com/. A lot of the patches are similar to the ones that Marc-André wrote, but due to the changes in the code it was easier to redo them.
For nbd, the patch is on top of "nbd: mark more coroutine_fns" that I sent a few days ago and that (AIUI) Eric has already queued; only one function was missing, much to my surprise. Apart from this, I also identified the following functions that can be called both in coroutine context and outside: - qmp_dispatch - schedule_next_request - nvme_get_free_req - bdrv_create - bdrv_remove_persistent_dirty_bitmap - bdrv_can_store_new_dirty_bitmap - bdrv_do_drained_begin - bdrv_do_drained_end - bdrv_drain_all_begin - qcow2_open - qcow2_has_zero_init - bdrv_qed_open - qio_channel_readv_full_all_eof - qio_channel_writev_full_all besides, of course, everything that is generated by scripts/block-coroutine-wrapper.py. Thanks, Paolo Supersedes: <20170704220346.29244-1-marcandre.lur...@redhat.com> Marc-André Lureau (3): 9p: add missing coroutine_fn annotations migration: add missing coroutine_fn annotations test-coroutine: add missing coroutine_fn annotations Paolo Bonzini (23): block: remove incorrect coroutine_fn annotations qcow2: remove incorrect coroutine_fn annotations nbd: remove incorrect coroutine_fn annotations coroutine: remove incorrect coroutine_fn annotations blkdebug: add missing coroutine_fn annotations blkverify: add missing coroutine_fn annotations block: add missing coroutine_fn annotations file-posix: add missing coroutine_fn annotations iscsi: add missing coroutine_fn annotations nbd: add missing coroutine_fn annotations nfs: add missing coroutine_fn annotations nvme: add missing coroutine_fn annotations parallels: add missing coroutine_fn annotations qcow2: add missing coroutine_fn annotations copy-before-write: add missing coroutine_fn annotations curl: add missing coroutine_fn annotations qed: add missing coroutine_fn annotations quorum: add missing coroutine_fn annotations throttle: add missing coroutine_fn annotations vmdk: add missing coroutine_fn annotations job: add missing coroutine_fn annotations coroutine-lock: add missing coroutine_fn annotations raw-format: add missing coroutine_fn annotations block/blkdebug.c | 14 +++++++------- block/blkverify.c | 2 +- block/block-backend.c | 26 +++++++++++++------------- block/copy-before-write.c | 8 ++++---- block/curl.c | 2 +- block/file-posix.c | 2 +- block/io.c | 24 ++++++++++++------------ block/iscsi.c | 2 +- block/nbd.c | 10 +++++----- block/nfs.c | 2 +- block/nvme.c | 5 +++-- block/parallels.c | 5 +++-- block/qcow2-cluster.c | 18 +++++++++--------- block/qcow2-refcount.c | 6 +++--- block/qcow2.c | 4 ++-- block/qcow2.h | 18 +++++++++--------- block/qed.c | 4 ++-- block/quorum.c | 35 ++++++++++++++++++----------------- block/raw-format.c | 2 +- block/throttle.c | 2 +- block/vmdk.c | 20 ++++++++++---------- hw/9pfs/9p.h | 9 ++++++--- include/block/nbd.h | 2 +- include/qemu/coroutine.h | 2 +- include/qemu/job.h | 2 +- job.c | 2 +- migration/migration.c | 3 ++- tests/unit/test-coroutine.c | 2 +- util/qemu-coroutine-lock.c | 14 +++++++------- util/qemu-coroutine.c | 2 +- 30 files changed, 128 insertions(+), 121 deletions(-) -- 2.35.1