From 5e44d51d7631be589579e5e3c4dece9f651257ab Mon Sep 17 00:00:00 2001 From: Max Reitz Date: Mon, 18 Jun 2018 16:12:07 +0200 Subject: [PATCH 31/54] block: Set BDRV_REQ_WRITE_UNCHANGED for COR writes RH-Author: Max Reitz Message-id: <20180618161212.14444-6-mreitz@redhat.com> Patchwork-id: 80766 O-Subject: [RHV-7.6 qemu-kvm-rhev PATCH 05/10] block: Set BDRV_REQ_WRITE_UNCHANGED for COR writes Bugzilla: 1518738 RH-Acked-by: John Snow RH-Acked-by: Kevin Wolf RH-Acked-by: Miroslav Rezanina Signed-off-by: Max Reitz Reviewed-by: Stefan Hajnoczi Reviewed-by: Alberto Garcia Message-id: 20180421132929.21610-5-mreitz@redhat.com Reviewed-by: Kevin Wolf Signed-off-by: Max Reitz (cherry picked from commit 7adcf59fecf3c8ce9330430187350b53f9e50cf7) Signed-off-by: Max Reitz Signed-off-by: Miroslav Rezanina --- block/io.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/block/io.c b/block/io.c index 134b2a4..fada4ef 100644 --- a/block/io.c +++ b/block/io.c @@ -1115,13 +1115,15 @@ static int coroutine_fn bdrv_co_do_copy_on_readv(BdrvChild *child, /* FIXME: Should we (perhaps conditionally) be setting * BDRV_REQ_MAY_UNMAP, if it will allow for a sparser copy * that still correctly reads as zero? */ - ret = bdrv_co_do_pwrite_zeroes(bs, cluster_offset, pnum, 0); + ret = bdrv_co_do_pwrite_zeroes(bs, cluster_offset, pnum, + BDRV_REQ_WRITE_UNCHANGED); } else { /* This does not change the data on the disk, it is not * necessary to flush even in cache=writethrough mode. */ ret = bdrv_driver_pwritev(bs, cluster_offset, pnum, - &local_qiov, 0); + &local_qiov, + BDRV_REQ_WRITE_UNCHANGED); } if (ret < 0) { -- 1.8.3.1