qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH v3 09/10] block: Fix bdrv_co_truncate overlap check


From: Fam Zheng
Subject: [Qemu-devel] [PATCH v3 09/10] block: Fix bdrv_co_truncate overlap check
Date: Tue, 10 Jul 2018 14:31:23 +0800

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>
---
 block/io.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/block/io.c b/block/io.c
index 9687da1ce9..e3e2d5286d 100644
--- a/block/io.c
+++ b/block/io.c
@@ -3113,7 +3113,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.17.1




reply via email to

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