On Fri, Sep 03, 2021 at 01:28:00PM +0300, Vladimir Sementsov-Ogievskiy wrote:
> We are generally moving to int64_t for both offset and bytes parameters
> on all io paths.
...
> Still, the functions may be called directly, not only by drv->...
> Let's check:
>
> git grep '\.bdrv_\(aio\|co\)_pwritev\(_part\)\?\s*=' | \
> awk '{print $4}' | sed 's/,//' | sed 's/&//' | sort | uniq | \
> while read func; do git grep "$func(" | \
> grep -v "$func(BlockDriverState"; done
>
> shows several callers:
>
> qcow2:
> qcow2_co_truncate() write at most up to @offset, which is checked in
> generic qcow2_co_truncate() by bdrv_check_request().
> qcow2_co_pwritev_compressed_task() pass the request (or part of the
> request) that already went through normal write path, so it should
> be OK
>
> qcow:
> qcow_co_pwritev_compressed() pass int64_t, it's updated by this patch
>
> quorum:
> quorum_co_pwrite_zeroes() pass int64_t and int - OK
>
> throttle:
> throttle_co_pwritev_compressed() pass int64_t, it's updated by this
> patch
>
> vmdk:
> vmdk_co_pwritev_compressed() pass int64_t, it's updated by this
> patch
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>
> ---
Reviewed-by: Eric Blake <[email protected]>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org