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 v9: Thanks to Eric, I used commit message tweaks and rebase-conflict solving from his git. 01: add Philippe's, Stefan's r-bs 02: - add Philippe's, Stefan's r-bs - commit message tweaks stolen from Eric's git :) 03: add Philippe's, Stefan's r-bs 04: - wording/grammar by Eric (partly, stolen from repo) - ref new file in docs/devel/index.rst - use 644 rights and recommended header for python script - call gen_header() once - rename gen_wrappers_file to gen_wrappers 05: add Stefan's r-b 06: add Philippe's, Stefan's r-bs 07: Stefan's r-b 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 ++++ docs/devel/index.rst | 1 + block/block-gen.h | 49 ++++ block/coroutines.h | 65 +++++ include/block/block.h | 34 ++- block.c | 97 +------ block/io.c | 337 ++++--------------------- tests/test-bdrv-drain.c | 2 +- block/meson.build | 8 + scripts/block-coroutine-wrapper.py | 188 ++++++++++++++ 10 files changed, 454 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 100644 scripts/block-coroutine-wrapper.py -- 2.21.3