From: Vladimir Sementsov-Ogievskiy Date: Thu, 3 Dec 2020 22:27:10 +0000 (+0300) Subject: block/file-posix: fix workaround in raw_do_pwrite_zeroes() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=9b100af30f175bffe1fc44c3577ba42e8c170864;p=qemu.git 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 --- 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); }