]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuDomainPrepareStorageSourceBlockdev: Add a variant for custom nodename
authorPeter Krempa <pkrempa@redhat.com>
Wed, 1 Jun 2022 12:10:38 +0000 (14:10 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 14 Jun 2022 12:39:55 +0000 (14:39 +0200)
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>
src/qemu/qemu_domain.c
src/qemu/qemu_domain.h

index 941cf7e0e40f3d3a59eabd7dbed52f048f95342e..b0d52c315be2106ebd567dfb94954a03c07f8406 100644 (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,
index 153dfe3a23e535ab480155d1b9868931139c9851..e6509b5af552aab457a5057d4df839c6d5bb2c38 100644 (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,