From b06424de62b362034e41ddf77eb8cfaa641d9009 Mon Sep 17 00:00:00 2001 From: Juan Quintela Date: Wed, 22 Mar 2017 17:34:27 +0100 Subject: migration: Disable hotplug/unplug during migration Until we have reviewed what can/can't be hotplugged during migration, disable it. We can enable it later for the things that we know that work. For instance, memory hotplug during postcopy doesn't work currently. Signed-off-by: Juan Quintela Reviewed-by: zhanghailiang -- - Fix typo. Thanks Thomas. - Delay migration check after we have checked that we can hotplug that device. - more typos --- qdev-monitor.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'qdev-monitor.c') diff --git a/qdev-monitor.c b/qdev-monitor.c index bb3d8ba360..e61d596ef7 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -29,6 +29,7 @@ #include "qemu/error-report.h" #include "qemu/help_option.h" #include "sysemu/block-backend.h" +#include "migration/migration.h" /* * Aliases were a bad idea from the start. Let's keep them @@ -603,6 +604,11 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error **errp) return NULL; } + if (!migration_is_idle()) { + error_setg(errp, "device_add not allowed while migrating"); + return NULL; + } + /* create device */ dev = DEVICE(object_new(driver)); @@ -853,6 +859,11 @@ void qdev_unplug(DeviceState *dev, Error **errp) return; } + if (!migration_is_idle()) { + error_setg(errp, "device_del not allowed while migrating"); + return; + } + qdev_hot_removed = true; hotplug_ctrl = qdev_get_hotplug_handler(dev); -- cgit v1.2.1