[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
- [Qemu-devel] [RFC PATCH v2 00/23] COarse-grain LOck-stepping(COLO) Virtual Machines for Non-stop Service, Yang Hongyang, 2014/09/23
- [Qemu-devel] [RFC PATCH v2 01/23] QEMUSizedBuffer/QEMUFile, Yang Hongyang, 2014/09/23
- [Qemu-devel] [RFC PATCH v2 02/23] configure: add CONFIG_COLO to switch COLO support, Yang Hongyang, 2014/09/23
- [Qemu-devel] [RFC PATCH v2 05/23] COLO info: use colo info to tell migration target colo is enabled, Yang Hongyang, 2014/09/23
- [Qemu-devel] [RFC PATCH v2 06/23] COLO save: integrate COLO checkpointed save into qemu migration, Yang Hongyang, 2014/09/23
- [Qemu-devel] [RFC PATCH v2 09/23] COLO ctl: implement API's that communicate with colo agent, Yang Hongyang, 2014/09/23
- [Qemu-devel] [RFC PATCH v2 07/23] COLO restore: integrate COLO checkpointed restore into qemu restore, Yang Hongyang, 2014/09/23
- [Qemu-devel] [RFC PATCH v2 08/23] COLO: disable qdev hotplug,
Yang Hongyang <=
- [Qemu-devel] [RFC PATCH v2 10/23] COLO ctl: introduce is_slave() and is_master(), Yang Hongyang, 2014/09/23
- [Qemu-devel] [RFC PATCH v2 03/23] COLO: introduce an api colo_supported() to indicate COLO support, Yang Hongyang, 2014/09/23
- [Qemu-devel] [RFC PATCH v2 04/23] COLO migration: add a migration capability 'colo', Yang Hongyang, 2014/09/23
- [Qemu-devel] [RFC PATCH v2 11/23] COLO ctl: implement colo checkpoint protocol, Yang Hongyang, 2014/09/23
- [Qemu-devel] [RFC PATCH v2 12/23] COLO ctl: add a RunState RUN_STATE_COLO, Yang Hongyang, 2014/09/23
- [Qemu-devel] [RFC PATCH v2 13/23] COLO ctl: implement colo save, Yang Hongyang, 2014/09/23
- [Qemu-devel] [RFC PATCH v2 14/23] COLO ctl: implement colo restore, Yang Hongyang, 2014/09/23
- [Qemu-devel] [RFC PATCH v2 16/23] COLO ram cache: implement colo ram cache on slave, Yang Hongyang, 2014/09/23
- [Qemu-devel] [RFC PATCH v2 17/23] HACK: trigger checkpoint every 500ms, Yang Hongyang, 2014/09/23
- [Qemu-devel] [RFC PATCH v2 15/23] COLO save: reuse migration bitmap under colo checkpoint, Yang Hongyang, 2014/09/23