On Fri, Feb 26, 2010 at 02:09:16PM +0100, Wolfgang Mauerer wrote:
We must not delete the data part when the operation succeeds
because it is required later on. The correct pattern to handle
the 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.
Signed-off-by: Wolfgang Mauerer <wolfgang.mauerer(a)siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka(a)siemens.com>
---
src/qemu/qemu_driver.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 1586e35..5394ff5 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -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."),
--
ACK
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://deltacloud.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|