[libvirt] [PATCH 4/4] qemu: Use ShutdownVMDaemon for all startup cleanup paths

Cole Robinson crobinso at redhat.com
Thu May 20 16:01:34 UTC 2010


On 05/18/2010 12:29 PM, Eric Blake wrote:
> On 05/17/2010 11:17 AM, Cole Robinson wrote:
>> The current cleanup: in StartVMDaemon path is a poor duplication.
>> qemuShutdownVMDaemon can handle teardown for inactive VMs, so let's use it.
>>
>> Signed-off-by: Cole Robinson <crobinso at redhat.com>
>> ---
>>  src/qemu/qemu_driver.c |   18 +-----------------
>>  1 files changed, 1 insertions(+), 17 deletions(-)
>>
>> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
>> index d2f1a36..114917d 100644
>> --- a/src/qemu/qemu_driver.c
>> +++ b/src/qemu/qemu_driver.c
>> @@ -3569,23 +3569,7 @@ static int qemudStartVMDaemon(virConnectPtr conn,
>>      return 0;
>>  
>>  cleanup:
>> -    /* We jump here if we failed to start the VM for any reason
>> -     * XXX investigate if we can kill this block and safely call
>> -     * qemudShutdownVMDaemon even though no PID is running */
>> -    qemuDomainReAttachHostDevices(driver, vm->def);
>> -
>> -    if (driver->securityDriver &&
>> -        driver->securityDriver->domainRestoreSecurityAllLabel)
>> -        driver->securityDriver->domainRestoreSecurityAllLabel(vm, 0);
>> -    if (driver->securityDriver &&
>> -        driver->securityDriver->domainReleaseSecurityLabel)
>> -        driver->securityDriver->domainReleaseSecurityLabel(vm);
>> -    qemuRemoveCgroup(driver, vm, 1);
>> -    if (logfile != -1)
>> -        close(logfile);
>> -    vm->def->id = -1;
>> -    return -1;
>> -
>> +    /* We jump here if we failed to start the VM for any reason */
>>  abort:
>>      /* We jump here if we failed to initialize the now running VM
>>       * killing it off and pretend we never started it */
> 
> Agree with the proposed change being safe, but it is incomplete.  Now
> that cleanup: has no code, but falls through immediately to abort:, I'd
> rather see these merged into one label.  Probably cleanup: is the better
> name, which means changing all the 'goto abort;'.
> 

I've pushed the first 3 patches, sending a v2 of this one with your
recommended changes.

Thanks,
Cole




More information about the libvir-list mailing list