mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
qemu_firmware: Pass virDomainDef into qemuFirmwareFillDomain()
This function needs domain definition really, we don't need to pass the whole domain object. This saves couple of dereferences and characters esp. in more checks to come. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Cole Robinson <crobinso@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
44791eaf8b
commit
50d7465f3d
@ -1202,7 +1202,7 @@ qemuFirmwareFetchParsedConfigs(bool privileged,
|
|||||||
|
|
||||||
int
|
int
|
||||||
qemuFirmwareFillDomain(virQEMUDriverPtr driver,
|
qemuFirmwareFillDomain(virQEMUDriverPtr driver,
|
||||||
virDomainObjPtr vm,
|
virDomainDefPtr def,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
VIR_AUTOSTRINGLIST paths = NULL;
|
VIR_AUTOSTRINGLIST paths = NULL;
|
||||||
@ -1215,7 +1215,7 @@ qemuFirmwareFillDomain(virQEMUDriverPtr driver,
|
|||||||
if (!(flags & VIR_QEMU_PROCESS_START_NEW))
|
if (!(flags & VIR_QEMU_PROCESS_START_NEW))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (vm->def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_NONE)
|
if (def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_NONE)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if ((nfirmwares = qemuFirmwareFetchParsedConfigs(driver->privileged,
|
if ((nfirmwares = qemuFirmwareFetchParsedConfigs(driver->privileged,
|
||||||
@ -1223,7 +1223,7 @@ qemuFirmwareFillDomain(virQEMUDriverPtr driver,
|
|||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
for (i = 0; i < nfirmwares; i++) {
|
for (i = 0; i < nfirmwares; i++) {
|
||||||
if (qemuFirmwareMatchDomain(vm->def, firmwares[i], paths[i])) {
|
if (qemuFirmwareMatchDomain(def, firmwares[i], paths[i])) {
|
||||||
theone = firmwares[i];
|
theone = firmwares[i];
|
||||||
VIR_DEBUG("Found matching firmware (description path '%s')",
|
VIR_DEBUG("Found matching firmware (description path '%s')",
|
||||||
paths[i]);
|
paths[i]);
|
||||||
@ -1234,7 +1234,7 @@ qemuFirmwareFillDomain(virQEMUDriverPtr driver,
|
|||||||
if (!theone) {
|
if (!theone) {
|
||||||
virReportError(VIR_ERR_OPERATION_FAILED,
|
virReportError(VIR_ERR_OPERATION_FAILED,
|
||||||
_("Unable to find any firmware to satisfy '%s'"),
|
_("Unable to find any firmware to satisfy '%s'"),
|
||||||
virDomainOsDefFirmwareTypeToString(vm->def->os.firmware));
|
virDomainOsDefFirmwareTypeToString(def->os.firmware));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1243,10 +1243,10 @@ qemuFirmwareFillDomain(virQEMUDriverPtr driver,
|
|||||||
* likely that admin/FW manufacturer messed up. */
|
* likely that admin/FW manufacturer messed up. */
|
||||||
qemuFirmwareSanityCheck(theone, paths[i]);
|
qemuFirmwareSanityCheck(theone, paths[i]);
|
||||||
|
|
||||||
if (qemuFirmwareEnableFeatures(driver, vm->def, theone) < 0)
|
if (qemuFirmwareEnableFeatures(driver, def, theone) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
vm->def->os.firmware = VIR_DOMAIN_OS_DEF_FIRMWARE_NONE;
|
def->os.firmware = VIR_DOMAIN_OS_DEF_FIRMWARE_NONE;
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
cleanup:
|
cleanup:
|
||||||
|
@ -45,7 +45,7 @@ qemuFirmwareFetchConfigs(char ***firmwares,
|
|||||||
|
|
||||||
int
|
int
|
||||||
qemuFirmwareFillDomain(virQEMUDriverPtr driver,
|
qemuFirmwareFillDomain(virQEMUDriverPtr driver,
|
||||||
virDomainObjPtr vm,
|
virDomainDefPtr def,
|
||||||
unsigned int flags);
|
unsigned int flags);
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@ -6267,7 +6267,7 @@ qemuProcessPrepareDomain(virQEMUDriverPtr driver,
|
|||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
VIR_DEBUG("Prepare bios/uefi paths");
|
VIR_DEBUG("Prepare bios/uefi paths");
|
||||||
if (qemuFirmwareFillDomain(driver, vm, flags) < 0)
|
if (qemuFirmwareFillDomain(driver, vm->def, flags) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
if (qemuDomainInitializePflashStorageSource(vm) < 0)
|
if (qemuDomainInitializePflashStorageSource(vm) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
Loading…
Reference in New Issue
Block a user