qemu: Fix incorrect jump labels in error paths

Fix incorrect jump labels in error paths as the stop jump is only
needed if the driver has already changed the state. For example
'virAtomicIntInc(&driver->nactive)' will be 'reverted' in the
qemuProcessStop call.

Signed-off-by: Marc Hartmayer <mhartmay@linux.vnet.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.vnet.ibm.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Marc Hartmayer 2017-02-23 10:44:08 +01:00 committed by Michal Privoznik
parent 3cddd63aec
commit eca76884ea

View File

@ -4755,9 +4755,12 @@ qemuProcessInit(virQEMUDriverPtr driver,
*/ */
VIR_DEBUG("Setting current domain def as transient"); VIR_DEBUG("Setting current domain def as transient");
if (virDomainObjSetDefTransient(caps, driver->xmlopt, vm) < 0) if (virDomainObjSetDefTransient(caps, driver->xmlopt, vm) < 0)
goto stop; goto cleanup;
if (!(flags & VIR_QEMU_PROCESS_START_PRETEND)) { if (flags & VIR_QEMU_PROCESS_START_PRETEND) {
if (qemuDomainSetPrivatePaths(driver, vm) < 0)
goto stop;
} else {
vm->def->id = qemuDriverAllocateID(driver); vm->def->id = qemuDriverAllocateID(driver);
qemuDomainSetFakeReboot(driver, vm, false); qemuDomainSetFakeReboot(driver, vm, false);
virDomainObjSetState(vm, VIR_DOMAIN_PAUSED, VIR_DOMAIN_PAUSED_STARTING_UP); virDomainObjSetState(vm, VIR_DOMAIN_PAUSED, VIR_DOMAIN_PAUSED_STARTING_UP);
@ -4770,10 +4773,10 @@ qemuProcessInit(virQEMUDriverPtr driver,
VIR_HOOK_QEMU_OP_PREPARE, VIR_HOOK_QEMU_OP_PREPARE,
VIR_HOOK_SUBOP_BEGIN) < 0) VIR_HOOK_SUBOP_BEGIN) < 0)
goto stop; goto stop;
}
if (qemuDomainSetPrivatePaths(driver, vm) < 0) if (qemuDomainSetPrivatePaths(driver, vm) < 0)
goto cleanup; goto stop;
}
ret = 0; ret = 0;