From 9b100af30f175bffe1fc44c3577ba42e8c170864 Mon Sep 17 00:00:00 2001 From: Vladimir Sementsov-Ogievskiy Date: Fri, 4 Dec 2020 01:27:10 +0300 Subject: [PATCH] block/file-posix: fix workaround in raw_do_pwrite_zeroes() We should not set overlap_bytes: 1. Don't worry: it is calculated by bdrv_mark_request_serialising() and will be equal to or greater than bytes anyway. 2. If the request was already aligned up to some greater alignment, than we may break things: we reduce overlap_bytes, and further bdrv_mark_request_serialising() may not help, as it will not restore old bigger alignment. Signed-off-by: Vladimir Sementsov-Ogievskiy Message-Id: <20201203222713.13507-2-vsementsov@virtuozzo.com> Signed-off-by: Kevin Wolf --- block/file-posix.c | 1 - 1 file changed, 1 deletion(-) diff --git a/block/file-posix.c b/block/file-posix.c index 806764f7e3..9bee3d88d0 100644 --- a/block/file-posix.c +++ b/block/file-posix.c @@ -2952,7 +2952,6 @@ raw_do_pwrite_zeroes(BlockDriverState *bs, int64_t offset, int bytes, end = INT64_MAX & -(uint64_t)bs->bl.request_alignment; req->bytes = end - req->offset; - req->overlap_bytes = req->bytes; bdrv_mark_request_serialising(req, bs->bl.request_alignment); }