]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuDomainInitializePflashStorageSource: Properly and fully initialize nvram source
authorPeter Krempa <pkrempa@redhat.com>
Wed, 1 Jun 2022 12:50:29 +0000 (14:50 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 14 Jun 2022 13:53:11 +0000 (15:53 +0200)
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>
src/qemu/qemu_domain.c
src/qemu/qemu_domain.h
src/qemu/qemu_process.c

index 2b9f06b1ec758c056f2f128aef6cca275736235d..2e53afa8793c0830874806b9b10ee25c03ad236d 100644 (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);
index c2a4dd01452d5b73362ce498820e2576f27ed824..ac0f4e6d5becd93548c7cf2716d3c93719522cd2 100644 (file)
@@ -1048,7 +1048,8 @@ int
 qemuDomainMakeCPUMigratable(virCPUDef *cpu);
 
 int
-qemuDomainInitializePflashStorageSource(virDomainObj *vm);
+qemuDomainInitializePflashStorageSource(virDomainObj *vm,
+                                        virQEMUDriverConfig *cfg);
 
 bool
 qemuDomainDiskBlockJobIsSupported(virDomainObj *vm,
index f13ca4388f3f1761ac56499b930450d659093b2e..1af7cef4a8f5e8b3716a9607976f2bfaa3da19dc 100644 (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");