Hi all! We want 64bit write-zeroes, and for this, convert all io functions to 64bit.
We chose signed type, to be consistent with off_t (which is signed) and with possibility for signed return type (where negative value means error). Please refer to initial cover-letter https://lists.gnu.org/archive/html/qemu-devel/2020-03/msg08723.html for more info. v4: I found, that some more work is needed for block/block-backend, so decided to make partI, converting block/io v4 is based on Kevin's block branch ([PULL 00/34] Block layer patches) for BDRV_MAX_LENGTH changes: 01-05: new 06: add Alberto's r-b 07: new 08-16: rebase, add new-style request check, improve commit-msg, drop r-bs Based-on: <[email protected]> Vladimir Sementsov-Ogievskiy (16): block: refactor bdrv_check_request: add errp util/iov: make qemu_iovec_init_extended() honest block: fix theoretical overflow in bdrv_init_padding() block/io: refactor bdrv_pad_request(): move bdrv_pad_request() up block/io: bdrv_pad_request(): support qemu_iovec_init_extended failure block/throttle-groups: throttle_group_co_io_limits_intercept(): 64bit bytes block/io: improve bdrv_check_request: check qiov too block: use int64_t as bytes type in tracked requests block/io: use int64_t bytes in driver wrappers block/io: support int64_t bytes in bdrv_co_do_pwrite_zeroes() block/io: support int64_t bytes in bdrv_aligned_pwritev() block/io: support int64_t bytes in bdrv_co_do_copy_on_readv() block/io: support int64_t bytes in bdrv_aligned_preadv() block/io: support int64_t bytes in bdrv_co_p{read,write}v_part() block/io: support int64_t bytes in read/write wrappers block/io: use int64_t bytes in copy_range include/block/block.h | 17 +- include/block/block_int.h | 26 +-- include/block/throttle-groups.h | 2 +- include/qemu/iov.h | 2 +- block/blkverify.c | 2 +- block/file-posix.c | 2 +- block/io.c | 274 ++++++++++++++++++++++---------- block/throttle-groups.c | 5 +- tests/test-write-threshold.c | 5 +- util/iov.c | 25 ++- block/trace-events | 12 +- 11 files changed, 252 insertions(+), 120 deletions(-) -- 2.25.4
