Hi! I've done this by accident. I decided that it is needed to make a nice fix for a problem with aio context locking in hmp_qemu_io(). Still, the problem is fixed without this series, so it's based on on the fix instead of being preparation for it:
Based-on: <20210423134233.51495-1-vsement...@virtuozzo.com> "[PATCH v2] monitor: hmp_qemu_io: acquire aio contex, fix crash" When I understood this, the series was more than half-done, so I decided to finish it. I think it's a good refactoring. And moving block-layer things to coroutine is good in general: we reduce number of polling loops here and there. Vladimir Sementsov-Ogievskiy (11): block-coroutine-wrapper: allow non bdrv_ prefix block-coroutine-wrapper: support BlockBackend first argument block/block-gen.h: bind monitor block: introduce bdrv_debug_wait_break qemu-io-cmds: move qemu-io commands to coroutine block: drop unused bdrv_debug_is_suspended() block-backend: add _co_ versions of blk_save_vmstate / blk_load_vmstate qemu-io-cmds: refactor read_f(): drop extra helpers and variables qemu-io-cmds: refactor write_f(): drop extra helpers and variables qemu-io-cmds: drop do_co_readv() and do_co_writev() helpers block-backend: drop unused blk_save_vmstate() and blk_load_vmstate() block/block-gen.h | 22 ++- include/block/block.h | 2 +- include/block/block_int.h | 2 +- include/qemu-io.h | 9 +- include/sysemu/block-backend.h | 6 +- block.c | 10 +- block/blkdebug.c | 17 ++- block/block-backend.c | 21 ++- qemu-io-cmds.c | 237 ++++------------------------- block/meson.build | 3 +- scripts/block-coroutine-wrapper.py | 30 +++- 11 files changed, 113 insertions(+), 246 deletions(-) -- 2.29.2