On 07/05/2018 02:37 AM, Fam Zheng wrote:
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 [@old_size, @offset), not [@offset, offset * 2
s/which/which is/
- @old_size).
Signed-off-by: Fam Zheng <f...@redhat.com>
---
block/io.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Reviewed-by: Eric Blake <ebl...@redhat.com>
diff --git a/block/io.c b/block/io.c
index d07849fa96..ed18eb0ca3 100644
--- a/block/io.c
+++ b/block/io.c
@@ -3070,7 +3070,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);
Is it any more legible to do s/offset - new_bytes/old_size/, since those
are equivalent?
/* 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
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org