[libvirt] [PATCH v2 14/15] qemu: Add secinfo for hotplug virtio disk

Peter Krempa pkrempa at redhat.com
Fri Jun 24 12:51:46 UTC 2016


On Thu, Jun 23, 2016 at 13:29:10 -0400, John Ferlan wrote:
> Commit id 'a1344f70a' added AES secret processing for RBD when starting
> up a guest. As such, when the hotplug code calls qemuDomainSecretDiskPrepare
> an AES secret could be added to the disk about to be hotplugged. If an AES
> secret was added, then the hotplug code would need to generate the secret
> object because qemuBuildDriveStr would add the "password-secret=" to the
> returned 'driveStr' rather than the base64 encoded password.
> 
> Signed-off-by: John Ferlan <jferlan at redhat.com>
> ---
>  src/qemu/qemu_hotplug.c | 44 ++++++++++++++++++++++++++++++++++++++------
>  1 file changed, 38 insertions(+), 6 deletions(-)

[...]

> @@ -3422,12 +3446,14 @@ qemuDomainDetachVirtioDiskDevice(virQEMUDriverPtr driver,
>      qemuDomainMarkDeviceForRemoval(vm, &detach->info);
>  
>      qemuDomainObjEnterMonitor(driver, vm);
> -    if (qemuMonitorDelDevice(priv->mon, detach->info.alias) < 0) {
> -        if (qemuDomainObjExitMonitor(driver, vm) < 0)
> -            goto cleanup;
> -        virDomainAuditDisk(vm, detach->src, NULL, "detach", false);
> -        goto cleanup;
> +    if (secinfo && secinfo->type == VIR_DOMAIN_SECRET_INFO_TYPE_AES) {
> +        if (qemuMonitorDelObject(priv->mon, secinfo->s.aes.alias) < 0)

Additionally to the complaint about secinfo not being initialized. This
is the incorrect place to delete this. You need to do it in
qemuDomainRemoveDiskDevice.

Also at that point you can't make the failure to delete the object
fatal.

> +            goto faildel;
>      }
> +
> +    if (qemuMonitorDelDevice(priv->mon, detach->info.alias) < 0)
> +        goto faildel;
> +




More information about the libvir-list mailing list