[PATCH 00/24] More coroutine_fn fixes

Paolo Bonzini posted 24 patches 1 year, 7 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20221013123711.620631-1-pbonzini@redhat.com
Maintainers: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, John Snow <jsnow@redhat.com>, Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, Stefan Hajnoczi <stefanha@redhat.com>, Fam Zheng <fam@euphon.net>, "Denis V. Lunev" <den@openvz.org>, Eric Blake <eblake@redhat.com>, "Richard W.M. Jones" <rjones@redhat.com>, Stefan Weil <sw@weilnetz.de>, Jeff Cody <codyprime@gmail.com>, Markus Armbruster <armbru@redhat.com>
block.c                          |  2 +-
block/backup.c                   |  2 +-
block/blkdebug.c                 |  2 +-
block/commit.c                   |  2 +-
block/io.c                       |  8 +--
block/mirror.c                   |  4 +-
block/monitor/block-hmp-cmds.c   |  2 +-
block/parallels.c                | 28 +++++-----
block/qcow.c                     | 56 ++++++++++----------
block/qcow2-bitmap.c             |  4 +-
block/qcow2-cluster.c            | 26 ++++-----
block/qcow2-refcount.c           | 18 +++----
block/qcow2-snapshot.c           |  6 +--
block/qcow2.c                    | 32 ++++++------
block/qcow2.h                    | 32 ++++++------
block/qed-table.c                |  2 +-
block/qed.c                      | 12 ++---
block/ssh.c                      |  6 +--
block/vdi.c                      | 17 +++---
block/vhdx.c                     |  8 +--
block/vmdk.c                     | 90 ++++++++++++++++----------------
blockdev.c                       |  2 +-
include/block/block-hmp-cmds.h   |  2 +-
include/block/block-io.h         |  5 +-
include/block/block_int-common.h | 12 ++---
include/monitor/hmp.h            |  3 +-
include/qemu/coroutine.h         | 18 ++++---
27 files changed, 202 insertions(+), 199 deletions(-)
[PATCH 00/24] More coroutine_fn fixes
Posted by Paolo Bonzini 1 year, 7 months ago
Most of these were extracted from Alberto's static analysis series.
After this series, the only errors reported by the analyzer are:

- a call to bs->drv->bdrv_co_drain_begin from bdrv_open_driver.  This
  relies on bdrv_co_drain_begin not having to yield, which is indeed the
  case right after opening but is iffy

- assigning coroutine_fn to non-coroutine_fn in the human monitor
  for the two coroutine commands screendump and block_resize.

Paolo

Alberto Faria (20):
  backup: remove incorrect coroutine_fn annotation
  block: remove incorrect coroutine_fn annotation
  monitor: add missing coroutine_fn annotation
  ssh: add missing coroutine_fn annotation
  block: add missing coroutine_fn annotation to prototypes
  coroutine-lock: add missing coroutine_fn annotation to prototypes
  coroutine-io: add missing coroutine_fn annotation to prototypes
  block: add missing coroutine_fn annotation to BlockDriverState
    callbacks
  qcow2: add coroutine_fn annotation for indirect-called functions
  commit: switch to *_co_* functions
  block: switch to *_co_* functions
  mirror: switch to *_co_* functions
  parallels: switch to *_co_* functions
  qcow: switch to *_co_* functions
  qcow2: switch to *_co_* functions
  qed: switch to *_co_* functions
  vdi: switch to *_co_* functions
  vhdx: switch to *_co_* functions
  vmdk: switch to *_co_* functions
  monitor: switch to *_co_* functions

Paolo Bonzini (4):
  blkdebug: add missing coroutine_fn annotation for indirect-called
    functions
  qcow: manually add more coroutine_fn annotations
  qcow2: manually add more coroutine_fn annotations
  vmdk: manually add more coroutine_fn annotations

 block.c                          |  2 +-
 block/backup.c                   |  2 +-
 block/blkdebug.c                 |  2 +-
 block/commit.c                   |  2 +-
 block/io.c                       |  8 +--
 block/mirror.c                   |  4 +-
 block/monitor/block-hmp-cmds.c   |  2 +-
 block/parallels.c                | 28 +++++-----
 block/qcow.c                     | 56 ++++++++++----------
 block/qcow2-bitmap.c             |  4 +-
 block/qcow2-cluster.c            | 26 ++++-----
 block/qcow2-refcount.c           | 18 +++----
 block/qcow2-snapshot.c           |  6 +--
 block/qcow2.c                    | 32 ++++++------
 block/qcow2.h                    | 32 ++++++------
 block/qed-table.c                |  2 +-
 block/qed.c                      | 12 ++---
 block/ssh.c                      |  6 +--
 block/vdi.c                      | 17 +++---
 block/vhdx.c                     |  8 +--
 block/vmdk.c                     | 90 ++++++++++++++++----------------
 blockdev.c                       |  2 +-
 include/block/block-hmp-cmds.h   |  2 +-
 include/block/block-io.h         |  5 +-
 include/block/block_int-common.h | 12 ++---
 include/monitor/hmp.h            |  3 +-
 include/qemu/coroutine.h         | 18 ++++---
 27 files changed, 202 insertions(+), 199 deletions(-)

-- 
2.37.3
Re: [PATCH 00/24] More coroutine_fn fixes
Posted by Kevin Wolf 1 year, 6 months ago
Am 13.10.2022 um 14:36 hat Paolo Bonzini geschrieben:
> Most of these were extracted from Alberto's static analysis series.
> After this series, the only errors reported by the analyzer are:
> 
> - a call to bs->drv->bdrv_co_drain_begin from bdrv_open_driver.  This
>   relies on bdrv_co_drain_begin not having to yield, which is indeed the
>   case right after opening but is iffy
> 
> - assigning coroutine_fn to non-coroutine_fn in the human monitor
>   for the two coroutine commands screendump and block_resize.

Thanks, fixed up coding style warnings in checkpatch and the mismerges
in patches 19 and 23, and applied to the block branch.

Kevin