mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-21 20:15:17 +00:00
qemu: Handle CanonicalizeMachine in post parse
Rather than open coding calls. I can't see any reason not to
This commit is contained in:
parent
9cec6239c1
commit
a8b628e7a8
@ -1207,6 +1207,26 @@ qemuDomainDefAddDefaultDevices(virDomainDefPtr def,
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
qemuCanonicalizeMachine(virDomainDefPtr def, virQEMUCapsPtr qemuCaps)
|
||||
{
|
||||
const char *canon;
|
||||
|
||||
if (!(canon = virQEMUCapsGetCanonicalMachine(qemuCaps, def->os.machine)))
|
||||
return 0;
|
||||
|
||||
if (STRNEQ(canon, def->os.machine)) {
|
||||
char *tmp;
|
||||
if (VIR_STRDUP(tmp, canon) < 0)
|
||||
return -1;
|
||||
VIR_FREE(def->os.machine);
|
||||
def->os.machine = tmp;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
qemuDomainDefPostParse(virDomainDefPtr def,
|
||||
virCapsPtr caps,
|
||||
@ -1232,6 +1252,9 @@ qemuDomainDefPostParse(virDomainDefPtr def,
|
||||
if (qemuDomainDefAddDefaultDevices(def, qemuCaps) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (qemuCanonicalizeMachine(def, qemuCaps) < 0)
|
||||
goto cleanup;
|
||||
|
||||
ret = 0;
|
||||
cleanup:
|
||||
virObjectUnref(qemuCaps);
|
||||
|
@ -1684,26 +1684,6 @@ static int qemuConnectNumOfDomains(virConnectPtr conn)
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
qemuCanonicalizeMachine(virDomainDefPtr def, virQEMUCapsPtr qemuCaps)
|
||||
{
|
||||
const char *canon;
|
||||
|
||||
if (!(canon = virQEMUCapsGetCanonicalMachine(qemuCaps, def->os.machine)))
|
||||
return 0;
|
||||
|
||||
if (STRNEQ(canon, def->os.machine)) {
|
||||
char *tmp;
|
||||
if (VIR_STRDUP(tmp, canon) < 0)
|
||||
return -1;
|
||||
VIR_FREE(def->os.machine);
|
||||
def->os.machine = tmp;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static virDomainPtr qemuDomainCreateXML(virConnectPtr conn,
|
||||
const char *xml,
|
||||
unsigned int flags)
|
||||
@ -1749,9 +1729,6 @@ static virDomainPtr qemuDomainCreateXML(virConnectPtr conn,
|
||||
if (!(qemuCaps = virQEMUCapsCacheLookup(driver->qemuCapsCache, def->emulator)))
|
||||
goto cleanup;
|
||||
|
||||
if (qemuCanonicalizeMachine(def, qemuCaps) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (qemuDomainAssignAddresses(def, qemuCaps, NULL) < 0)
|
||||
goto cleanup;
|
||||
|
||||
@ -7531,9 +7508,6 @@ static virDomainPtr qemuDomainDefineXMLFlags(virConnectPtr conn, const char *xml
|
||||
if (!(qemuCaps = virQEMUCapsCacheLookup(driver->qemuCapsCache, def->emulator)))
|
||||
goto cleanup;
|
||||
|
||||
if (qemuCanonicalizeMachine(def, qemuCaps) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (qemuDomainAssignAddresses(def, qemuCaps, NULL) < 0)
|
||||
goto cleanup;
|
||||
|
||||
@ -15893,9 +15867,6 @@ static virDomainPtr qemuDomainQemuAttach(virConnectPtr conn,
|
||||
if (!(qemuCaps = virQEMUCapsCacheLookup(driver->qemuCapsCache, def->emulator)))
|
||||
goto cleanup;
|
||||
|
||||
if (qemuCanonicalizeMachine(def, qemuCaps) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (qemuAssignDeviceAliases(def, qemuCaps) < 0)
|
||||
goto cleanup;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user