[libvirt] [RFC PATCH 10/12] qemu: implement cpu device hotunplug on live level

Peter Krempa pkrempa at redhat.com
Wed Jan 21 09:32:38 UTC 2015


On Wed, Jan 21, 2015 at 16:01:02 +0800, Zhu Guihua wrote:
> This patch implements live hotunplug of a cpu device.
> 
> Signed-off-by: Zhu Guihua <zhugh.fnst at cn.fujitsu.com>
> ---
>  src/qemu/qemu_driver.c  |  2 ++
>  src/qemu/qemu_hotplug.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++++
>  src/qemu/qemu_hotplug.h |  4 +++
>  3 files changed, 72 insertions(+)
> 
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index ddc7eeb..004bc35 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -7077,6 +7077,8 @@ qemuDomainDetachDeviceLive(virDomainObjPtr vm,
>          ret = qemuDomainDetachChrDevice(driver, vm, dev->data.chr);
>          break;
>      case VIR_DOMAIN_DEVICE_CPU:
> +        ret = qemuDomainDetachCPUDevice(driver, vm, dev->data.cpu);
> +        break;
>      case VIR_DOMAIN_DEVICE_FS:
>      case VIR_DOMAIN_DEVICE_INPUT:
>      case VIR_DOMAIN_DEVICE_SOUND:
> diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
> index bff0d14..41013d9 100644
> --- a/src/qemu/qemu_hotplug.c
> +++ b/src/qemu/qemu_hotplug.c
> @@ -2876,6 +2876,20 @@ qemuDomainRemoveNetDevice(virQEMUDriverPtr driver,
>  
>  
>  static int
> +qemuDomainRemoveCPUDevice(virDomainObjPtr vm,
> +                          virDomainCPUDefPtr cpu)
> +{
> +    VIR_DEBUG("Removing cpu device %s from domain %p %s",
> +              cpu->info.alias, vm, vm->def->name);
> +
> +    virDomainCPURemove(vm->def, cpu);
> +    virDomainCPUDefFree(cpu);

If cpu is not identical (in meaning of being the same pointer), just a
definition denoting the same device this will leak the definition that
was previously stored in vm->def.


> +
> +    return 0;
> +}
> +
> +
> +static int
>  qemuDomainRemoveChrDevice(virQEMUDriverPtr driver,
>                            virDomainObjPtr vm,
>                            virDomainChrDefPtr chr)

Peter
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20150121/668c6bbe/attachment-0001.sig>


More information about the libvir-list mailing list