[PATCH 00/18] Make block-backend-io.h API more consistent

Alberto Faria posted 18 patches 1 year, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220517113524.197910-1-afaria@redhat.com
Maintainers: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, John Snow <jsnow@redhat.com>, Vladimir Sementsov-Ogievskiy <v.sementsov-og@mail.ru>, Stefan Hajnoczi <stefanha@redhat.com>, "Denis V. Lunev" <den@openvz.org>, Stefan Weil <sw@weilnetz.de>, Jeff Cody <codyprime@gmail.com>, Fam Zheng <fam@euphon.net>, Niek Linnenbank <nieklinnenbank@gmail.com>, Beniamino Galvani <b.galvani@gmail.com>, Peter Maydell <peter.maydell@linaro.org>, "Cédric Le Goater" <clg@kaod.org>, Andrew Jeffery <andrew@aj.id.au>, Joel Stanley <joel@jms.id.au>, Alistair Francis <alistair@alistair23.me>, "Philippe Mathieu-Daudé" <f4bug@amsat.org>, Laurent Vivier <laurent@vivier.eu>, Bin Meng <bin.meng@windriver.com>, Palmer Dabbelt <palmer@dabbelt.com>, Daniel Henrique Barboza <danielhb413@gmail.com>, David Gibson <david@gibson.dropbear.id.au>, Greg Kurz <groug@kaod.org>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Juan Quintela <quintela@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>, Eric Blake <eblake@redhat.com>
There is a newer version of this series
block.c                           |  10 +-
block/block-backend.c             | 150 ++++++++++++------------------
block/commit.c                    |   4 +-
block/coroutines.h                |  44 ---------
block/crypto.c                    |   2 +-
block/export/fuse.c               |   4 +-
block/meson.build                 |   1 +
block/parallels.c                 |   2 +-
block/qcow.c                      |  14 +--
block/qcow2.c                     |   4 +-
block/qed.c                       |   8 +-
block/vdi.c                       |   4 +-
block/vhdx.c                      |  20 ++--
block/vmdk.c                      |  10 +-
block/vpc.c                       |  12 +--
hw/arm/allwinner-h3.c             |   2 +-
hw/arm/aspeed.c                   |   2 +-
hw/block/block.c                  |   2 +-
hw/block/fdc.c                    |  20 ++--
hw/block/hd-geometry.c            |   2 +-
hw/block/m25p80.c                 |   2 +-
hw/block/nand.c                   |  47 +++++-----
hw/block/onenand.c                |  32 +++----
hw/block/pflash_cfi01.c           |   4 +-
hw/block/pflash_cfi02.c           |   4 +-
hw/ide/atapi.c                    |   4 +-
hw/misc/mac_via.c                 |   6 +-
hw/misc/sifive_u_otp.c            |  14 +--
hw/nvram/eeprom_at24c.c           |   8 +-
hw/nvram/spapr_nvram.c            |  16 ++--
hw/nvram/xlnx-bbram.c             |   4 +-
hw/nvram/xlnx-efuse.c             |   4 +-
hw/ppc/pnv_pnor.c                 |   6 +-
hw/sd/sd.c                        |   4 +-
include/sysemu/block-backend-io.h | 105 ++++++++++++---------
migration/block.c                 |   8 +-
nbd/server.c                      |   8 +-
qemu-img.c                        |  33 +++----
qemu-io-cmds.c                    |  20 ++--
tests/unit/test-block-iothread.c  | 141 ++++++++++++++++++++++++++--
40 files changed, 433 insertions(+), 354 deletions(-)
[PATCH 00/18] Make block-backend-io.h API more consistent
Posted by Alberto Faria 1 year, 10 months ago
Adjust existing pairs of non-coroutine and coroutine functions to share
the same calling convention, and add non-coroutine/coroutine
counterparts where they don't exist.

Also make the non-coroutine versions generated_co_wrappers.

This series sits on top of "[PATCH v2 00/10] Implement bdrv_{pread,
pwrite, pwrite_sync, pwrite_zeroes}() using generated_co_wrapper":

    https://lore.kernel.org/qemu-devel/20220513155418.2486450-1-afaria@redhat.com/

Based-on: <20220513155418.2486450-1-afaria@redhat.com>

Alberto Faria (18):
  block: Make blk_{pread,pwrite}() return 0 on success
  block: Add a 'flags' param to blk_pread()
  block: Change blk_{pread,pwrite}() param order
  block: Make 'bytes' param of blk_{pread,pwrite}() an int64_t
  block: Make blk_co_pwrite() take a const buffer
  block: Implement blk_{pread,pwrite}() using generated_co_wrapper
  block: Add blk_{preadv,pwritev}()
  block: Add blk_[co_]preadv_part()
  block: Export blk_pwritev_part() in block-backend-io.h
  block: Change blk_pwrite_compressed() param order
  block: Add blk_co_pwrite_compressed()
  block: Implement blk_pwrite_zeroes() using generated_co_wrapper
  block: Implement blk_pdiscard() using generated_co_wrapper
  block: Implement blk_flush() using generated_co_wrapper
  block: Add blk_co_ioctl()
  block: Add blk_co_truncate()
  block: Reorganize some declarations in block-backend-io.h
  block: Remove remaining unused symbols in coroutines.h

 block.c                           |  10 +-
 block/block-backend.c             | 150 ++++++++++++------------------
 block/commit.c                    |   4 +-
 block/coroutines.h                |  44 ---------
 block/crypto.c                    |   2 +-
 block/export/fuse.c               |   4 +-
 block/meson.build                 |   1 +
 block/parallels.c                 |   2 +-
 block/qcow.c                      |  14 +--
 block/qcow2.c                     |   4 +-
 block/qed.c                       |   8 +-
 block/vdi.c                       |   4 +-
 block/vhdx.c                      |  20 ++--
 block/vmdk.c                      |  10 +-
 block/vpc.c                       |  12 +--
 hw/arm/allwinner-h3.c             |   2 +-
 hw/arm/aspeed.c                   |   2 +-
 hw/block/block.c                  |   2 +-
 hw/block/fdc.c                    |  20 ++--
 hw/block/hd-geometry.c            |   2 +-
 hw/block/m25p80.c                 |   2 +-
 hw/block/nand.c                   |  47 +++++-----
 hw/block/onenand.c                |  32 +++----
 hw/block/pflash_cfi01.c           |   4 +-
 hw/block/pflash_cfi02.c           |   4 +-
 hw/ide/atapi.c                    |   4 +-
 hw/misc/mac_via.c                 |   6 +-
 hw/misc/sifive_u_otp.c            |  14 +--
 hw/nvram/eeprom_at24c.c           |   8 +-
 hw/nvram/spapr_nvram.c            |  16 ++--
 hw/nvram/xlnx-bbram.c             |   4 +-
 hw/nvram/xlnx-efuse.c             |   4 +-
 hw/ppc/pnv_pnor.c                 |   6 +-
 hw/sd/sd.c                        |   4 +-
 include/sysemu/block-backend-io.h | 105 ++++++++++++---------
 migration/block.c                 |   8 +-
 nbd/server.c                      |   8 +-
 qemu-img.c                        |  33 +++----
 qemu-io-cmds.c                    |  20 ++--
 tests/unit/test-block-iothread.c  | 141 ++++++++++++++++++++++++++--
 40 files changed, 433 insertions(+), 354 deletions(-)

-- 
2.35.3
Re: [PATCH 00/18] Make block-backend-io.h API more consistent
Posted by Paolo Bonzini 1 year, 8 months ago
On 5/17/22 13:35, Alberto Faria wrote:
> Adjust existing pairs of non-coroutine and coroutine functions to share
> the same calling convention, and add non-coroutine/coroutine
> counterparts where they don't exist.
> 
> Also make the non-coroutine versions generated_co_wrappers.
> 
> This series sits on top of "[PATCH v2 00/10] Implement bdrv_{pread,
> pwrite, pwrite_sync, pwrite_zeroes}() using generated_co_wrapper":
> 
>      https://lore.kernel.org/qemu-devel/20220513155418.2486450-1-afaria@redhat.com/

Alberto, does this need a rebase?

Paolo

> Based-on: <20220513155418.2486450-1-afaria@redhat.com>
> 
> Alberto Faria (18):
>    block: Make blk_{pread,pwrite}() return 0 on success
>    block: Add a 'flags' param to blk_pread()
>    block: Change blk_{pread,pwrite}() param order
>    block: Make 'bytes' param of blk_{pread,pwrite}() an int64_t
>    block: Make blk_co_pwrite() take a const buffer
>    block: Implement blk_{pread,pwrite}() using generated_co_wrapper
>    block: Add blk_{preadv,pwritev}()
>    block: Add blk_[co_]preadv_part()
>    block: Export blk_pwritev_part() in block-backend-io.h
>    block: Change blk_pwrite_compressed() param order
>    block: Add blk_co_pwrite_compressed()
>    block: Implement blk_pwrite_zeroes() using generated_co_wrapper
>    block: Implement blk_pdiscard() using generated_co_wrapper
>    block: Implement blk_flush() using generated_co_wrapper
>    block: Add blk_co_ioctl()
>    block: Add blk_co_truncate()
>    block: Reorganize some declarations in block-backend-io.h
>    block: Remove remaining unused symbols in coroutines.h
> 
>   block.c                           |  10 +-
>   block/block-backend.c             | 150 ++++++++++++------------------
>   block/commit.c                    |   4 +-
>   block/coroutines.h                |  44 ---------
>   block/crypto.c                    |   2 +-
>   block/export/fuse.c               |   4 +-
>   block/meson.build                 |   1 +
>   block/parallels.c                 |   2 +-
>   block/qcow.c                      |  14 +--
>   block/qcow2.c                     |   4 +-
>   block/qed.c                       |   8 +-
>   block/vdi.c                       |   4 +-
>   block/vhdx.c                      |  20 ++--
>   block/vmdk.c                      |  10 +-
>   block/vpc.c                       |  12 +--
>   hw/arm/allwinner-h3.c             |   2 +-
>   hw/arm/aspeed.c                   |   2 +-
>   hw/block/block.c                  |   2 +-
>   hw/block/fdc.c                    |  20 ++--
>   hw/block/hd-geometry.c            |   2 +-
>   hw/block/m25p80.c                 |   2 +-
>   hw/block/nand.c                   |  47 +++++-----
>   hw/block/onenand.c                |  32 +++----
>   hw/block/pflash_cfi01.c           |   4 +-
>   hw/block/pflash_cfi02.c           |   4 +-
>   hw/ide/atapi.c                    |   4 +-
>   hw/misc/mac_via.c                 |   6 +-
>   hw/misc/sifive_u_otp.c            |  14 +--
>   hw/nvram/eeprom_at24c.c           |   8 +-
>   hw/nvram/spapr_nvram.c            |  16 ++--
>   hw/nvram/xlnx-bbram.c             |   4 +-
>   hw/nvram/xlnx-efuse.c             |   4 +-
>   hw/ppc/pnv_pnor.c                 |   6 +-
>   hw/sd/sd.c                        |   4 +-
>   include/sysemu/block-backend-io.h | 105 ++++++++++++---------
>   migration/block.c                 |   8 +-
>   nbd/server.c                      |   8 +-
>   qemu-img.c                        |  33 +++----
>   qemu-io-cmds.c                    |  20 ++--
>   tests/unit/test-block-iothread.c  | 141 ++++++++++++++++++++++++++--
>   40 files changed, 433 insertions(+), 354 deletions(-)
>
Re: [PATCH 00/18] Make block-backend-io.h API more consistent
Posted by Alberto Faria 1 year, 8 months ago
On Sat, Jul 2, 2022 at 3:12 PM Paolo Bonzini <pbonzini@redhat.com> wrote:
> Alberto, does this need a rebase?

This applies cleanly on "[PATCH v5 00/10] Implement
bdrv_{pread,pwrite,pwrite_sync,pwrite_zeroes}() using
generated_co_wrapper" [1], which applies cleanly to master.

Alberto

[1] https://lore.kernel.org/qemu-devel/20220609152744.3891847-1-afaria@redhat.com/