goto cleanup;
}
- if (qemuCaps) {
- virObjectRef(qemuCaps);
- } else {
- if (!(qemuCaps = virQEMUCapsCacheLookup(driver->qemuCapsCache,
- def->emulator)))
- goto cleanup;
- }
-
if (qemuDomainDefAddDefaultDevices(def, qemuCaps) < 0)
goto cleanup;
ret = 0;
cleanup:
- virObjectUnref(qemuCaps);
virObjectUnref(cfg);
return ret;
}
virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
int ret = -1;
- if (qemuCaps) {
- virObjectRef(qemuCaps);
- } else {
- qemuCaps = virQEMUCapsCacheLookup(driver->qemuCapsCache,
- def->emulator);
- }
-
if (dev->type == VIR_DOMAIN_DEVICE_NET &&
dev->data.net->type != VIR_DOMAIN_NET_TYPE_HOSTDEV &&
!dev->data.net->model) {
ret = 0;
cleanup:
- virObjectUnref(qemuCaps);
virObjectUnref(cfg);
return ret;
}
{
virQEMUDriverPtr driver = opaque;
virQEMUCapsPtr qemuCaps = parseOpaque;
- int ret = -1;
bool newDomain = parseFlags & VIR_DOMAIN_DEF_PARSE_ABI_UPDATE;
- if (qemuCaps) {
- virObjectRef(qemuCaps);
- } else {
- if (!(qemuCaps = virQEMUCapsCacheLookup(driver->qemuCapsCache,
+ return qemuDomainAssignAddresses(def, qemuCaps, driver, NULL, newDomain);
+}
+
+
+static int
+qemuDomainPostParseDataAlloc(const virDomainDef *def,
+ virCapsPtr caps ATTRIBUTE_UNUSED,
+ unsigned int parseFlags ATTRIBUTE_UNUSED,
+ void *opaque,
+ void **parseOpaque)
+{
+ virQEMUDriverPtr driver = opaque;
+
+ if (!(*parseOpaque = virQEMUCapsCacheLookup(driver->qemuCapsCache,
def->emulator)))
- goto cleanup;
- }
+ return -1;
- if (qemuDomainAssignAddresses(def, qemuCaps, driver, NULL, newDomain) < 0)
- goto cleanup;
+ return 0;
+}
+
+
+static void
+qemuDomainPostParseDataFree(void *parseOpaque)
+{
+ virQEMUCapsPtr qemuCaps = parseOpaque;
- ret = 0;
- cleanup:
virObjectUnref(qemuCaps);
- return ret;
}
virDomainDefParserConfig virQEMUDriverDomainDefParserConfig = {
.domainPostParseBasicCallback = qemuDomainDefPostParseBasic,
+ .domainPostParseDataAlloc = qemuDomainPostParseDataAlloc,
+ .domainPostParseDataFree = qemuDomainPostParseDataFree,
.devicesPostParseCallback = qemuDomainDeviceDefPostParse,
.domainPostParseCallback = qemuDomainDefPostParse,
.assignAddressesCallback = qemuDomainDefAssignAddresses,