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 v5 00/10] Implement bdrv_{pread,pwrite,pwrite_sync,pwrite_zeroes}() using generated_co_wrapper": https://lore.kernel.org/qemu-devel/20220609152744.3891847-1-afa...@redhat.com/ Based-on: <20220609152744.3891847-1-afa...@redhat.com> v2: - Avoid using variables named 'len' or similar to hold return values from blk_{pread,pwrite}(), as they don't return a length anymore. - Drop variables in_ret and out_ret in qemu-img.c:img_dd(). - Initialize buf in test_sync_op_blk_pwritev_part(). - Keep blk_co_copy_range() in the "I/O API functions" section of include/sysemu/block-backend-io.h. 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 | 97 +++++++++++-------- migration/block.c | 8 +- nbd/server.c | 8 +- qemu-img.c | 41 ++++---- qemu-io-cmds.c | 20 ++-- tests/unit/test-block-iothread.c | 141 ++++++++++++++++++++++++++-- 40 files changed, 431 insertions(+), 356 deletions(-) -- 2.36.1