}
+/**
+ * qemuDomainUpdateQEMUCaps:
+ * @vm: domain object
+ * @qemuCapsCache: cache of QEMU capabilities
+ *
+ * This function updates the used QEMU capabilities of @vm by querying
+ * the QEMU capabilities cache.
+ *
+ * Returns 0 on success, -1 on error.
+ */
+int
+qemuDomainUpdateQEMUCaps(virDomainObjPtr vm,
+ virFileCachePtr qemuCapsCache)
+{
+ qemuDomainObjPrivatePtr priv = vm->privateData;
+
+ virObjectUnref(priv->qemuCaps);
+ if (!(priv->qemuCaps = virQEMUCapsCacheLookupCopy(qemuCapsCache,
+ vm->def->emulator,
+ vm->def->os.machine)))
+ return -1;
+ return 0;
+}
+
+
char *
qemuDomainGetMachineName(virDomainObjPtr vm)
{
qemuDomainFixupCPUs(virDomainObjPtr vm,
virCPUDefPtr *origCPU);
+int
+qemuDomainUpdateQEMUCaps(virDomainObjPtr vm,
+ virFileCachePtr qemuCapsCache);
+
char *
qemuDomainGetMachineName(virDomainObjPtr vm);
}
VIR_DEBUG("Determining emulator version");
- virObjectUnref(priv->qemuCaps);
- if (!(priv->qemuCaps = virQEMUCapsCacheLookupCopy(driver->qemuCapsCache,
- vm->def->emulator,
- vm->def->os.machine)))
+ if (qemuDomainUpdateQEMUCaps(vm, driver->qemuCapsCache) < 0)
goto cleanup;
if (flags & VIR_QEMU_PROCESS_START_STANDALONE)
goto error;
VIR_DEBUG("Determining emulator version");
- virObjectUnref(priv->qemuCaps);
- if (!(priv->qemuCaps = virQEMUCapsCacheLookupCopy(driver->qemuCapsCache,
- vm->def->emulator,
- vm->def->os.machine)))
+ if (qemuDomainUpdateQEMUCaps(vm, driver->qemuCapsCache) < 0)
goto error;
VIR_DEBUG("Preparing monitor state");
* caps in the domain status, so re-query them
*/
if (!priv->qemuCaps &&
- !(priv->qemuCaps = virQEMUCapsCacheLookupCopy(driver->qemuCapsCache,
- obj->def->emulator,
- obj->def->os.machine)))
+ (qemuDomainUpdateQEMUCaps(obj, driver->qemuCapsCache) < 0))
goto error;
/* In case the domain shutdown while we were not running,