qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH] block: complete all IOs before .bdrv_truncate


From: Peter Lieven
Subject: [Qemu-devel] [PATCH] block: complete all IOs before .bdrv_truncate
Date: Mon, 18 Feb 2013 13:48:31 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130106 Thunderbird/17.0.2

bdrv_truncate() invalidates the bdrv_check_request() result for
in-flight requests, so there should better be none.

Signed-off-by: Peter Lieven <address@hidden>
Reported-by: Kevin Wolf <address@hidden>
---
 block.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/block.c b/block.c
index 50dab8e..d8880e3 100644
--- a/block.c
+++ b/block.c
@@ -2427,6 +2427,10 @@ int bdrv_truncate(BlockDriverState *bs, int64_t offset)
         return -EACCES;
     if (bdrv_in_use(bs))
         return -EBUSY;
+
+    /* there should be better no IOs in flight when we truncate the device */
+    bdrv_drain_all();
+
     ret = drv->bdrv_truncate(bs, offset);
     if (ret == 0) {
         ret = refresh_total_sectors(bs, offset >> BDRV_SECTOR_BITS);
--
1.7.9.5





reply via email to

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