qemuDomainPrepareStorageSourceBlockdev: Add a variant for custom nodename

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 <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:10:38 +02:00
parent 637f29bfac
commit f23b0ac13e
2 changed files with 28 additions and 8 deletions

View File

@ -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,

View File

@ -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,