qemuDomainInitializePflashStorageSource: Properly and fully initialize nvram source

Setup all fields for use with -blockdev.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Tested-by: Rohit Kumar <rohit.kumar3@nutanix.com>
This commit is contained in:
Peter Krempa 2022-06-01 14:50:29 +02:00
parent 9945c24259
commit c3c586baa1
3 changed files with 11 additions and 5 deletions

View File

@ -11311,7 +11311,8 @@ qemuDomainSupportsCheckpointsBlockjobs(virDomainObj *vm)
* 'libvirt-pflash1-format' for pflash1.
*/
int
qemuDomainInitializePflashStorageSource(virDomainObj *vm)
qemuDomainInitializePflashStorageSource(virDomainObj *vm,
virQEMUDriverConfig *cfg)
{
qemuDomainObjPrivate *priv = vm->privateData;
virDomainDef *def = vm->def;
@ -11334,8 +11335,12 @@ qemuDomainInitializePflashStorageSource(virDomainObj *vm)
if (def->os.loader->nvram) {
def->os.loader->nvram->nodeformat = g_strdup("libvirt-pflash1-format");
def->os.loader->nvram->nodestorage = g_strdup("libvirt-pflash1-storage");
if (qemuDomainPrepareStorageSourceBlockdevNodename(NULL,
def->os.loader->nvram,
"libvirt-pflash1",
priv,
cfg) < 0)
return -1;
}
priv->pflash0 = g_steal_pointer(&pflash0);

View File

@ -1048,7 +1048,8 @@ int
qemuDomainMakeCPUMigratable(virCPUDef *cpu);
int
qemuDomainInitializePflashStorageSource(virDomainObj *vm);
qemuDomainInitializePflashStorageSource(virDomainObj *vm,
virQEMUDriverConfig *cfg);
bool
qemuDomainDiskBlockJobIsSupported(virDomainObj *vm,

View File

@ -6702,7 +6702,7 @@ qemuProcessPrepareDomain(virQEMUDriver *driver,
VIR_DEBUG("Prepare bios/uefi paths");
if (qemuFirmwareFillDomain(driver, vm->def, flags) < 0)
return -1;
if (qemuDomainInitializePflashStorageSource(vm) < 0)
if (qemuDomainInitializePflashStorageSource(vm, cfg) < 0)
return -1;
VIR_DEBUG("Preparing external devices");