From c3c586baa100b84532106ae63128e2cebe6f3337 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Wed, 1 Jun 2022 14:50:29 +0200 Subject: [PATCH] qemuDomainInitializePflashStorageSource: Properly and fully initialize nvram source MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Setup all fields for use with -blockdev. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko Tested-by: Rohit Kumar --- src/qemu/qemu_domain.c | 11 ++++++++--- src/qemu/qemu_domain.h | 3 ++- src/qemu/qemu_process.c | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 2b9f06b1ec..2e53afa879 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -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); diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index c2a4dd0145..ac0f4e6d5b 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -1048,7 +1048,8 @@ int qemuDomainMakeCPUMigratable(virCPUDef *cpu); int -qemuDomainInitializePflashStorageSource(virDomainObj *vm); +qemuDomainInitializePflashStorageSource(virDomainObj *vm, + virQEMUDriverConfig *cfg); bool qemuDomainDiskBlockJobIsSupported(virDomainObj *vm, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index f13ca4388f..1af7cef4a8 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -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");