From f23b0ac13e0769b7dd1e2d60738fb896b7d72289 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Wed, 1 Jun 2022 14:10:38 +0200 Subject: [PATCH] qemuDomainPrepareStorageSourceBlockdev: Add a variant for custom nodename MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Extract the internals of qemuDomainPrepareStorageSourceBlockdev into qemuDomainPrepareStorageSourceBlockdevNodename so that we can reuse it when instantiating the virStorageSource for pflash backing. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko Tested-by: Rohit Kumar --- src/qemu/qemu_domain.c | 31 +++++++++++++++++++++++-------- src/qemu/qemu_domain.h | 5 +++++ 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 941cf7e0e4..b0d52c315b 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -10854,15 +10854,14 @@ qemuDomainPrepareDiskSourceLegacy(virDomainDiskDef *disk, int -qemuDomainPrepareStorageSourceBlockdev(virDomainDiskDef *disk, - virStorageSource *src, - qemuDomainObjPrivate *priv, - virQEMUDriverConfig *cfg) +qemuDomainPrepareStorageSourceBlockdevNodename(virDomainDiskDef *disk, + virStorageSource *src, + const char *nodenameprefix, + qemuDomainObjPrivate *priv, + virQEMUDriverConfig *cfg) { - src->id = qemuDomainStorageIDNew(priv); - - src->nodestorage = g_strdup_printf("libvirt-%u-storage", src->id); - src->nodeformat = g_strdup_printf("libvirt-%u-format", src->id); + src->nodestorage = g_strdup_printf("%s-storage", nodenameprefix); + src->nodeformat = g_strdup_printf("%s-format", nodenameprefix); if (qemuBlockStorageSourceNeedsStorageSliceLayer(src)) src->sliceStorage->nodename = g_strdup_printf("libvirt-%u-slice-sto", src->id); @@ -10895,6 +10894,22 @@ qemuDomainPrepareStorageSourceBlockdev(virDomainDiskDef *disk, } +int +qemuDomainPrepareStorageSourceBlockdev(virDomainDiskDef *disk, + virStorageSource *src, + qemuDomainObjPrivate *priv, + virQEMUDriverConfig *cfg) +{ + g_autofree char *nodenameprefix = NULL; + + src->id = qemuDomainStorageIDNew(priv); + + nodenameprefix = g_strdup_printf("libvirt-%u", src->id); + + return qemuDomainPrepareStorageSourceBlockdevNodename(disk, src, nodenameprefix, priv, cfg); +} + + static int qemuDomainPrepareDiskSourceBlockdev(virDomainDiskDef *disk, qemuDomainObjPrivate *priv, diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 153dfe3a23..e6509b5af5 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -758,6 +758,11 @@ int qemuDomainStorageSourceAccessAllow(virQEMUDriver *driver, bool newSource, bool chainTop); +int qemuDomainPrepareStorageSourceBlockdevNodename(virDomainDiskDef *disk, + virStorageSource *src, + const char *nodenameprefix, + qemuDomainObjPrivate *priv, + virQEMUDriverConfig *cfg); int qemuDomainPrepareStorageSourceBlockdev(virDomainDiskDef *disk, virStorageSource *src, qemuDomainObjPrivate *priv, -- 2.47.2