[GEDI] [PATCH v6 04/11] block: use int64_t instead of uint64_t in driver write handlers

Eric Blake eblake at redhat.com
Fri Sep 3 21:34:58 UTC 2021


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 <vsementsov at virtuozzo.com>
> ---

Reviewed-by: Eric Blake <eblake at redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org



More information about the integration mailing list