All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/11] Still more coroutine and various fixes in block layer
@ 2022-11-16 12:22 Emanuele Giuseppe Esposito
  2022-11-16 12:22 ` [PATCH v4 01/11] block-copy: add missing coroutine_fn annotations Emanuele Giuseppe Esposito
                   ` (10 more replies)
  0 siblings, 11 replies; 31+ messages in thread
From: Emanuele Giuseppe Esposito @ 2022-11-16 12:22 UTC (permalink / raw)
  To: qemu-block
  Cc: Kevin Wolf, Hanna Reitz, John Snow, Vladimir Sementsov-Ogievskiy,
	Eric Blake, Fam Zheng, qemu-devel, 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-kwolf@redhat.com>

Emanuele
---
v4:
* use v2 commit messages
* introduce generated_co_wrapper_simple to simplify patches

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 (11):
  block-copy: add missing coroutine_fn annotations
  nbd/server.c: add missing coroutine_fn annotations
  block-backend: replace bdrv_*_above with blk_*_above
  block-coroutine-wrapper.py: introduce generated_co_wrapper_simple
  block-coroutine-wrapper.py: default to main loop aiocontext if
    function does not have a BlockDriverState parameter
  block-coroutine-wrapper.py: support also basic return types
  block/vmdk: add missing coroutine_fn annotations
  block: distinguish between bdrv_create running in coroutine and not
  block: bdrv_create_file is a coroutine_fn
  block: convert bdrv_create to generated_co_wrapper_simple
  block/dirty-bitmap: convert coroutine-only functions to
    generated_co_wrapper_simple

 block.c                            |  68 +++++--------------
 block/block-backend.c              |  21 ++++++
 block/block-copy.c                 |  15 +++--
 block/block-gen.h                  |   5 +-
 block/commit.c                     |   4 +-
 block/dirty-bitmap.c               |  88 +------------------------
 block/meson.build                  |   1 +
 block/vmdk.c                       |  36 +++++-----
 include/block/block-common.h       |   6 +-
 include/block/block-global-state.h |  13 +++-
 include/block/block-io.h           |   9 ++-
 include/block/dirty-bitmap.h       |  10 ++-
 include/sysemu/block-backend-io.h  |   9 +++
 nbd/server.c                       |  43 ++++++------
 qemu-img.c                         |   4 +-
 scripts/block-coroutine-wrapper.py | 102 +++++++++++++++++++++--------
 16 files changed, 209 insertions(+), 225 deletions(-)

-- 
2.31.1



^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2022-11-22 10:05 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-16 12:22 [PATCH v4 00/11] Still more coroutine and various fixes in block layer Emanuele Giuseppe Esposito
2022-11-16 12:22 ` [PATCH v4 01/11] block-copy: add missing coroutine_fn annotations Emanuele Giuseppe Esposito
2022-11-18 19:05   ` Kevin Wolf
2022-11-21  8:32     ` Emanuele Giuseppe Esposito
2022-11-21  8:51       ` Emanuele Giuseppe Esposito
2022-11-21 11:50         ` Kevin Wolf
2022-11-21 13:26           ` Emanuele Giuseppe Esposito
2022-11-16 12:22 ` [PATCH v4 02/11] nbd/server.c: " Emanuele Giuseppe Esposito
2022-11-18 19:08   ` Kevin Wolf
2022-11-16 12:22 ` [PATCH v4 03/11] block-backend: replace bdrv_*_above with blk_*_above Emanuele Giuseppe Esposito
2022-11-18 19:15   ` Kevin Wolf
2022-11-16 12:22 ` [PATCH v4 04/11] block-coroutine-wrapper.py: introduce generated_co_wrapper_simple Emanuele Giuseppe Esposito
2022-11-21 12:21   ` Kevin Wolf
2022-11-16 12:22 ` [PATCH v4 05/11] block-coroutine-wrapper.py: default to main loop aiocontext if function does not have a BlockDriverState parameter Emanuele Giuseppe Esposito
2022-11-21 15:30   ` Kevin Wolf
2022-11-21 15:52     ` Emanuele Giuseppe Esposito
2022-11-22  8:27       ` Kevin Wolf
2022-11-16 12:22 ` [PATCH v4 06/11] block-coroutine-wrapper.py: support also basic return types Emanuele Giuseppe Esposito
2022-11-21 15:55   ` Kevin Wolf
2022-11-16 12:22 ` [PATCH v4 07/11] block/vmdk: add missing coroutine_fn annotations Emanuele Giuseppe Esposito
2022-11-21 16:01   ` Kevin Wolf
2022-11-21 16:07     ` Emanuele Giuseppe Esposito
2022-11-16 12:22 ` [PATCH v4 08/11] block: distinguish between bdrv_create running in coroutine and not Emanuele Giuseppe Esposito
2022-11-22  8:45   ` Kevin Wolf
2022-11-16 12:22 ` [PATCH v4 09/11] block: bdrv_create_file is a coroutine_fn Emanuele Giuseppe Esposito
2022-11-22  8:58   ` Kevin Wolf
2022-11-22  9:04     ` Emanuele Giuseppe Esposito
2022-11-16 12:22 ` [PATCH v4 10/11] block: convert bdrv_create to generated_co_wrapper_simple Emanuele Giuseppe Esposito
2022-11-22  9:16   ` Kevin Wolf
2022-11-16 12:22 ` [PATCH v4 11/11] block/dirty-bitmap: convert coroutine-only functions " Emanuele Giuseppe Esposito
2022-11-22 10:04   ` Kevin Wolf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.