qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [RFC PATCH 03/10] block: add a function to clear incoming l


From: Benoît Canet
Subject: [Qemu-devel] [RFC PATCH 03/10] block: add a function to clear incoming live migration
Date: Tue, 6 Mar 2012 18:32:22 +0100

This function is to be called to inform the block layer that an
incoming live migration has been canceled or has just finished.
It will also clear all BDRV_O_INCOMING flags.

Signed-off-by: Benoit Canet <address@hidden>
---
 block.c |   13 +++++++++++++
 block.h |    1 +
 2 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/block.c b/block.c
index 3e2260d..889d464 100644
--- a/block.c
+++ b/block.c
@@ -3588,6 +3588,19 @@ void bdrv_set_incoming_migration(void)
     incoming_migration = true;
 }
 
+void bdrv_clear_incoming_migration_all(void)
+{
+    BlockDriverState *bs;
+
+    assert(incoming_migration == true);
+
+    incoming_migration = false;
+
+    QTAILQ_FOREACH(bs, &bdrv_states, list) {
+        bs->open_flags = bs->open_flags & ~(BDRV_O_INCOMING);
+    }
+}
+
 int bdrv_flush(BlockDriverState *bs)
 {
     Coroutine *co;
diff --git a/block.h b/block.h
index 23af1cc..2ddf9c5 100644
--- a/block.h
+++ b/block.h
@@ -224,6 +224,7 @@ void bdrv_invalidate_cache(BlockDriverState *bs);
 void bdrv_invalidate_cache_all(void);
 
 void bdrv_set_incoming_migration(void);
+void bdrv_clear_incoming_migration_all(void);
 
 /* Ensure contents are flushed to disk.  */
 int bdrv_flush(BlockDriverState *bs);
-- 
1.7.7.6




reply via email to

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