From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50410) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fcmCh-00026C-5b for qemu-devel@nongnu.org; Tue, 10 Jul 2018 02:32:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fcmCg-0007zD-F4 for qemu-devel@nongnu.org; Tue, 10 Jul 2018 02:32:51 -0400 From: Fam Zheng Date: Tue, 10 Jul 2018 14:31:23 +0800 Message-Id: <20180710063124.2263-10-famz@redhat.com> In-Reply-To: <20180710063124.2263-1-famz@redhat.com> References: <20180710063124.2263-1-famz@redhat.com> Subject: [Qemu-devel] [PATCH v3 09/10] block: Fix bdrv_co_truncate overlap check List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Paolo Bonzini , vsementsov@virtuozzo.com, qemu-block@nongnu.org, Fam Zheng , Kevin Wolf , Max Reitz , Jeff Cody , Eric Blake , John Snow , Stefan Hajnoczi If we are growing the image and potentially using preallocation for the new area, we need to make sure that no write requests are made to the "preallocated" area which is [@old_size, @offset), not [@offset, offset * 2 - @old_size). Signed-off-by: Fam Zheng Reviewed-by: Eric Blake --- block/io.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/block/io.c b/block/io.c index 9687da1ce9..e3e2d5286d 100644 --- a/block/io.c +++ b/block/io.c @@ -3113,7 +3113,8 @@ int coroutine_fn bdrv_co_truncate(BdrvChild *child, int64_t offset, } bdrv_inc_in_flight(bs); - tracked_request_begin(&req, bs, offset, new_bytes, BDRV_TRACKED_TRUNCATE); + tracked_request_begin(&req, bs, offset - new_bytes, new_bytes, + BDRV_TRACKED_TRUNCATE); /* If we are growing the image and potentially using preallocation for the * new area, we need to make sure that no write requests are made to it -- 2.17.1