Fix data structure handling when controllers are attached

* src/qemu/qemu_driver.c: in qemudDomainAttachDevice(), one must not
  delete the data part when the operation succeeds because it is
  required later on. The correct pattern to handlethe parsed
  representation of the device information on success
  is dev->data.controller = NULL; virDomainDeviceDefFree(dev);,
  which leaves the structure pointed at by data in memory.
This commit is contained in:
Wolfgang Mauerer 2010-03-02 09:24:59 +01:00 committed by Daniel Veillard
parent 553447ac3b
commit 24cc058e5e

View File

@ -6111,6 +6111,8 @@ static int qemudDomainAttachDevice(virDomainPtr dom,
if (dev->data.controller->type == VIR_DOMAIN_CONTROLLER_TYPE_SCSI) {
ret = qemudDomainAttachPciControllerDevice(driver, vm,
dev->data.controller, qemuCmdFlags);
if (ret == 0)
dev->data.controller = NULL;
} else {
qemuReportError(VIR_ERR_NO_SUPPORT,
_("disk controller bus '%s' cannot be hotplugged."),