qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PULL 23/24] block: Fix bdrv_co_truncate overlap check


From: Kevin Wolf
Subject: [Qemu-devel] [PULL 23/24] block: Fix bdrv_co_truncate overlap check
Date: Tue, 10 Jul 2018 17:43:03 +0200

From: Fam Zheng <address@hidden>

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 is address@hidden, @offset), not
address@hidden, offset * 2 - @old_size).

Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
 block/io.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/block/io.c b/block/io.c
index 2832214db4..77d38ca1d3 100644
--- a/block/io.c
+++ b/block/io.c
@@ -3136,7 +3136,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);
 
     /* 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
-- 
2.13.6




reply via email to

[Prev in Thread] Current Thread [Next in Thread]