[libvirt] [PATCH 3/6] Fix data structure handling when controllers are attached.

Daniel Veillard veillard at redhat.com
Tue Mar 2 08:48:26 UTC 2010


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 at siemens.com>
> Signed-off-by: Jan Kiszka <jan.kiszka at 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."),

  Okay, ACK, obviously a bug fix, so pushed,

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list