From c3e170647e017600408f9e990b104a7025c74697 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Thu, 4 Feb 2016 14:48:57 +0100 Subject: [PATCH] qemu: process: Reorder operations on early VM startup Retrieval of the driver capabilities as well as emulator capabilities does not require the complete qemuProcessStop to be executed on failure. --- src/qemu/qemu_process.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index f82158d540..13974ab465 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -4432,7 +4432,14 @@ qemuProcessInit(virQEMUDriverPtr driver, } if (!(caps = virQEMUDriverGetCapabilities(driver, false))) - goto stop; + goto cleanup; + + VIR_DEBUG("Determining emulator version"); + virObjectUnref(priv->qemuCaps); + if (!(priv->qemuCaps = virQEMUCapsCacheLookupCopy(driver->qemuCapsCache, + vm->def->emulator, + vm->def->os.machine))) + goto cleanup; /* Some things, paths, ... are generated here and we want them to persist. * Fill them in prior to setting the domain def as transient. */ @@ -4462,13 +4469,6 @@ qemuProcessInit(virQEMUDriverPtr driver, VIR_HOOK_SUBOP_BEGIN) < 0) goto stop; - VIR_DEBUG("Determining emulator version"); - virObjectUnref(priv->qemuCaps); - if (!(priv->qemuCaps = virQEMUCapsCacheLookupCopy(driver->qemuCapsCache, - vm->def->emulator, - vm->def->os.machine))) - goto stop; - ret = 0; cleanup: