diff options
author | Igor Mammedov <imammedo@redhat.com> | 2014-09-26 09:28:18 +0000 |
---|---|---|
committer | Andreas Färber <afaerber@suse.de> | 2014-10-15 05:03:13 +0200 |
commit | ce9835e00df65bf5beb6c094c0865d8e60018310 (patch) | |
tree | 7fe485b0a2eba0916ae77ae2f8291c9190474dae /qdev-monitor.c | |
parent | 39b888bd88296b178082b5a2e4c6e82fcbd877f8 (diff) | |
download | qemu-ce9835e00df65bf5beb6c094c0865d8e60018310.zip qemu-ce9835e00df65bf5beb6c094c0865d8e60018310.tar.gz qemu-ce9835e00df65bf5beb6c094c0865d8e60018310.tar.bz2 |
qdev: do not allow to instantiate non hotpluggable device with device_add
It will allow explicitly mark device as not hotpluggable and
avoid its creation with following error at realize time
and destroying it afterwards anyway. Instead of it will
error out even before instance of device is created.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'qdev-monitor.c')
-rw-r--r-- | qdev-monitor.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/qdev-monitor.c b/qdev-monitor.c index f6db461..c721451 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -487,7 +487,8 @@ DeviceState *qdev_device_add(QemuOpts *opts) } dc = DEVICE_CLASS(oc); - if (dc->cannot_instantiate_with_device_add_yet) { + if (dc->cannot_instantiate_with_device_add_yet || + (qdev_hotplug && !dc->hotpluggable)) { qerror_report(QERR_INVALID_PARAMETER_VALUE, "driver", "pluggable device type"); return NULL; |