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

John Ferlan jferlan at redhat.com
Fri Jun 24 20:26:08 UTC 2016



On 06/24/2016 08:51 AM, Peter Krempa wrote:
> 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.

RemoveDiskDevice I thought was for SCSI and USB

All those *still* confound me...  DetachDisk/RemoveDisk...

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

Right...

I'll post a v3 shortly with changes that weren't officially ACK'd, but
it seems they were close, plus a few that were ACK w/ changes, plus two
new ones borne out of review, and of course these last 2 patches.

Thanks for the persistence!

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




More information about the libvir-list mailing list