qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [RFC PATCH v2 08/23] COLO: disable qdev hotplug


From: Yang Hongyang
Subject: [Qemu-devel] [RFC PATCH v2 08/23] COLO: disable qdev hotplug
Date: Tue, 23 Sep 2014 17:23:40 +0800

COLO do not support qdev hotplug migration, disable it.

Signed-off-by: Yang Hongyang <address@hidden>
---
 migration-colo.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/migration-colo.c b/migration-colo.c
index 391e0b7..1e6cd70 100644
--- a/migration-colo.c
+++ b/migration-colo.c
@@ -11,6 +11,7 @@
 #include "qemu/main-loop.h"
 #include "qemu/thread.h"
 #include "block/coroutine.h"
+#include "hw/qdev-core.h"
 #include "migration/migration-colo.h"
 
 static QEMUBH *colo_bh;
@@ -25,6 +26,9 @@ bool colo_supported(void)
 static void *colo_thread(void *opaque)
 {
     MigrationState *s = opaque;
+    int dev_hotplug = qdev_hotplug;
+
+    qdev_hotplug = 0;
 
     /*TODO: COLO checkpointed save loop*/
 
@@ -34,6 +38,8 @@ static void *colo_thread(void *opaque)
     qemu_bh_schedule(s->cleanup_bh);
     qemu_mutex_unlock_iothread();
 
+    qdev_hotplug = dev_hotplug;
+
     return NULL;
 }
 
@@ -68,10 +74,14 @@ static Coroutine *colo;
 
 void colo_process_incoming_checkpoints(QEMUFile *f)
 {
+    int dev_hotplug = qdev_hotplug;
+
     if (!restore_use_colo()) {
         return;
     }
 
+    qdev_hotplug = 0;
+
     colo = qemu_coroutine_self();
     assert(colo != NULL);
 
@@ -80,5 +90,7 @@ void colo_process_incoming_checkpoints(QEMUFile *f)
     colo = NULL;
     restore_exit_colo();
 
+    qdev_hotplug = dev_hotplug;
+
     return;
 }
-- 
1.9.1




reply via email to

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