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

Alberto Faria posted 18 patches 1 year, 11 months ago
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, 11 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, 9 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, 9 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/