On 06/14/2016 09:25 AM, Denis V. Lunev wrote:
> Signed-off-by: Denis V. Lunev
The commit message says what, but not why. It's useful to give
reviewers a hint as to why a patch makes sense (such as a future patch
being able to use the write notifier to make mirroring more efficient if
it knows what is being mirrored).
> Reviewed-by: Vladimir Sementsov-Ogievskiy
> CC: Stefan Hajnoczi
> CC: Fam Zheng
> CC: Kevin Wolf
> CC: Max Reitz
> CC: Jeff Cody
> CC: Eric Blake
> ---
> block/io.c| 12 +++-
> include/block/block_int.h | 1 +
> 2 files changed, 8 insertions(+), 5 deletions(-)
>
> @@ -2228,7 +2230,7 @@ int coroutine_fn bdrv_co_discard(BlockDriverState *bs,
> int64_t sector_num,
> return 0;
> }
>
> -tracked_request_begin(&req, bs, sector_num, nb_sectors,
> +tracked_request_begin(&req, bs, NULL, sector_num, nb_sectors,
>BDRV_TRACKED_DISCARD);
> bdrv_set_dirty(bs, sector_num, nb_sectors);
>
> @@ -2331,7 +2333,7 @@ static int bdrv_co_do_ioctl(BlockDriverState *bs, int
> req, void *buf)
> };
> BlockAIOCB *acb;
>
> -tracked_request_begin(&tracked_req, bs, 0, 0, BDRV_TRACKED_IOCTL);
> +tracked_request_begin(&tracked_req, bs, NULL, 0, 0, BDRV_TRACKED_IOCTL);
> if (!drv || !drv->bdrv_aio_ioctl) {
> co.ret = -ENOTSUP;
> goto out;
> diff --git a/include/block/block_int.h b/include/block/block_int.h
> index 30a9717..72f463a 100644
> --- a/include/block/block_int.h
> +++ b/include/block/block_int.h
> @@ -69,6 +69,7 @@ enum BdrvTrackedRequestType {
>
> typedef struct BdrvTrackedRequest {
> BlockDriverState *bs;
> +QEMUIOVector *qiov;
> int64_t offset;
> unsigned int bytes;
I guess bytes and qiov->size are not always redundant, because you pass
NULL for qiov for a zero or discard operation (an alternative would be
to always pass a qiov, even for zero/discard, so that we only need a
single size). But I've been pointing out our inconsistent use of qiov
for zeroes in multiple places, so I don't think it's worth changing in
this series, but in one of its own if we want to do it.
--
Eric Blake eblake redhat com+1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature