[libvirt] [RFC PATCH 06/11] qemu: implement dimm device hotplug on config level
Zhu Guihua
zhugh.fnst at cn.fujitsu.com
Wed Jan 21 08:20:22 UTC 2015
The config level requires an insert or remove from domain
definition structure.
Signed-off-by: Zhu Guihua <zhugh.fnst at cn.fujitsu.com>
---
src/qemu/qemu_driver.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index d017a84..a7a50e0 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -7313,6 +7313,11 @@ qemuDomainAttachDeviceConfig(virQEMUCapsPtr qemuCaps,
break;
case VIR_DOMAIN_DEVICE_DIMM:
+ if (virDomainDimmInsert(vmdef, dev->data.dimm) < 0)
+ return -1;
+ dev->data.dimm = NULL;
+ break;
+
case VIR_DOMAIN_DEVICE_INPUT:
case VIR_DOMAIN_DEVICE_SOUND:
case VIR_DOMAIN_DEVICE_VIDEO:
@@ -7349,6 +7354,7 @@ qemuDomainDetachDeviceConfig(virDomainDefPtr vmdef,
virDomainControllerDefPtr cont, det_cont;
virDomainChrDefPtr chr;
virDomainFSDefPtr fs;
+ virDomainDimmDefPtr dimm;
int idx;
switch ((virDomainDeviceType) dev->type) {
@@ -7430,6 +7436,14 @@ qemuDomainDetachDeviceConfig(virDomainDefPtr vmdef,
break;
case VIR_DOMAIN_DEVICE_DIMM:
+ if (!(dimm = virDomainDimmRemove(vmdef, dev->data.dimm)))
+ return -1;
+
+ virDomainDimmDefFree(dimm);
+ virDomainDimmDefFree(dev->data.dimm);
+ dev->data.dimm = NULL;
+ break;
+
case VIR_DOMAIN_DEVICE_INPUT:
case VIR_DOMAIN_DEVICE_SOUND:
case VIR_DOMAIN_DEVICE_VIDEO:
--
1.9.3
More information about the libvir-list
mailing list