Hi all! The aim of the series is to reduce code-duplication and writing parameters structure-packing by hand around coroutine function wrappers.
Benefits: - no code duplication - less indirection v8: 04: - rebase on meson build - script interface is changed to satisfy meson custom_target - rename script s/coroutine-wrapper.py/block-coroutine-wrapper.py/ - add docs/devel/block-coroutine-wrapper.rst Vladimir Sementsov-Ogievskiy (7): block: return error-code from bdrv_invalidate_cache block/io: refactor coroutine wrappers block: declare some coroutine functions in block/coroutines.h scripts: add block-coroutine-wrapper.py block: generate coroutine-wrapper code block: drop bdrv_prwv block/io: refactor save/load vmstate docs/devel/block-coroutine-wrapper.rst | 54 ++++ block/block-gen.h | 49 ++++ block/coroutines.h | 65 +++++ include/block/block.h | 34 ++- block.c | 97 ++----- block/io.c | 336 ++++--------------------- tests/test-bdrv-drain.c | 2 +- block/meson.build | 8 + scripts/block-coroutine-wrapper.py | 187 ++++++++++++++ 9 files changed, 451 insertions(+), 381 deletions(-) create mode 100644 docs/devel/block-coroutine-wrapper.rst create mode 100644 block/block-gen.h create mode 100644 block/coroutines.h create mode 100755 scripts/block-coroutine-wrapper.py -- 2.21.3