mbox series

[00/11] qemu-io-cmds: move to coroutine

Message ID 20210423214033.474034-1-vsementsov@virtuozzo.com (mailing list archive)
Headers show
Series qemu-io-cmds: move to coroutine | expand


Vladimir Sementsov-Ogievskiy April 23, 2021, 9:40 p.m. UTC

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-vsementsov@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 /
  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(-)