summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>2020-12-04 01:27:10 +0300
committerKevin Wolf <kwolf@redhat.com>2020-12-11 17:52:40 +0100
commit9b100af30f175bffe1fc44c3577ba42e8c170864 (patch)
tree23f9ce082fe653085e5608a6f6cafe15d4d1fb7e
parent7cc25f6c9ba1622c0e2c1186bb47fca8de03672b (diff)
downloadfocaccia-qemu-9b100af30f175bffe1fc44c3577ba42e8c170864.tar.gz
focaccia-qemu-9b100af30f175bffe1fc44c3577ba42e8c170864.zip
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 <vsementsov@virtuozzo.com>
Message-Id: <20201203222713.13507-2-vsementsov@virtuozzo.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
-rw-r--r--block/file-posix.c1
1 files changed, 0 insertions, 1 deletions
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);
     }