I apologize, as discussed also in v2 I just realized I could introduce generated_co_wrapper_simple already here and simplify patches 6 and 8.
Also I think commit messages are the old ones from v1. I'll resend. Please ignore this serie. Emanuele Am 16/11/2022 um 09:50 schrieb Emanuele Giuseppe Esposito: > This is a dump of all minor coroutine-related fixes found while looking > around and testing various things in the QEMU block layer. > > Patches aim to: > - add missing coroutine_fn annotation to the functions > - simplify to avoid the typical "if in coroutine: fn() > // else create_coroutine(fn)" already present in generated_co_wraper > functions. > - make sure that if a BlockDriver callback is defined as coroutine_fn, then > it is always running in a coroutine. > > This serie is based on Kevin Wolf's series "block: Simplify drain". > > Based-on: <20221108123738.530873-1-kw...@redhat.com> > > Emanuele > --- > v3: > * Remove patch 1, base on kevin "drain semplification serie" > > v2: > * clarified commit message in patches 2/3/6 on why we add coroutine_fn > > Emanuele Giuseppe Esposito (8): > block-copy: add missing coroutine_fn annotations > nbd/server.c: add missing coroutine_fn annotations > block-backend: replace bdrv_*_above with blk_*_above > block: distinguish between bdrv_create running in coroutine and not > block/vmdk: add missing coroutine_fn annotations > block: bdrv_create_file is a coroutine_fn > block: bdrv_create is never called in coroutine context > block/dirty-bitmap: remove unnecessary qemu_in_coroutine() case > > block.c | 75 ++++++++++++++---------------- > block/block-backend.c | 21 +++++++++ > block/block-copy.c | 15 +++--- > block/commit.c | 4 +- > block/dirty-bitmap.c | 66 ++++++++++++-------------- > block/vmdk.c | 36 +++++++------- > include/block/block-global-state.h | 3 +- > include/sysemu/block-backend-io.h | 9 ++++ > nbd/server.c | 43 +++++++++-------- > qemu-img.c | 4 +- > 10 files changed, 151 insertions(+), 125 deletions(-) >