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 <quintela@redhat.com>
Reviewed-by: zhanghailiang <zhang.zhanghailiang@huawei.com>

--

- Fix typo.  Thanks Thomas.
- Delay migration check after we have checked that we can hotplug that
  device.
- more typos
This commit is contained in:
Juan Quintela 2017-03-22 17:34:27 +01:00
parent 329006799f
commit b06424de62
1 changed files with 11 additions and 0 deletions

View File

@ -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);