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 <vsement...@virtuozzo.com> --- block/file-posix.c | 1 - 1 file changed, 1 deletion(-) diff --git a/block/file-posix.c b/block/file-posix.c index d5fd1dbcd2..1b35bd6cfa 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); } -- 2.21.3