[libvirt] [PATCH 20/38] qemu: domain: aggregate setup of disk drive options for -drive

Peter Krempa posted 38 patches 6 years, 11 months ago
[libvirt] [PATCH 20/38] qemu: domain: aggregate setup of disk drive options for -drive
Posted by Peter Krempa 6 years, 11 months ago
When using blockdev the approach to base aliases will change. Add a
helper function that will aggregate all code which needs to be called
with the disk alias for the -drive to setup internal data.

qemuDomainSecretDiskPrepare wrapper is no longer necessary as the
contents were moved to a function which is designed to use the old
aliases.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
---
 src/qemu/qemu_domain.c | 61 ++++++++++++++++++++++++++------------------------
 1 file changed, 32 insertions(+), 29 deletions(-)

diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index f616641c26..15c2e28604 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -1555,25 +1555,6 @@ qemuDomainSecretStorageSourcePrepare(qemuDomainObjPrivatePtr priv,
 }


-/* qemuDomainSecretDiskPrepare:
- * @priv: pointer to domain private object
- * @disk: Pointer to a disk definition
- *
- * For the right disk, generate the qemuDomainSecretInfo structure.
- *
- * Returns 0 on success, -1 on failure
- */
-
-static int
-qemuDomainSecretDiskPrepare(qemuDomainObjPrivatePtr priv,
-                            virDomainDiskDefPtr disk)
-{
-    return qemuDomainSecretStorageSourcePrepare(priv, disk->src,
-                                                disk->info.alias,
-                                                disk->info.alias);
-}
-
-
 /* qemuDomainSecretHostdevDestroy:
  * @disk: Pointer to a hostdev definition
  *
@@ -12458,26 +12439,48 @@ qemuDomainPrepareStorageSourcePR(virStorageSourcePtr src,
 }


-int
-qemuDomainPrepareDiskSource(virDomainDiskDefPtr disk,
-                            qemuDomainObjPrivatePtr priv,
-                            virQEMUDriverConfigPtr cfg)
+/**
+ * qemuDomainPrepareDiskSourceLegacy:
+ * @disk: disk to prepare
+ * @priv: VM private data
+ * @cfg: qemu driver config
+ *
+ * Prepare any disk source relevant data for use with the -drive command line.
+ */
+static int
+qemuDomainPrepareDiskSourceLegacy(virDomainDiskDefPtr disk,
+                                  qemuDomainObjPrivatePtr priv,
+                                  virQEMUDriverConfigPtr cfg)
 {
-    qemuDomainPrepareDiskCachemode(disk);
-
     if (qemuDomainValidateStorageSource(disk->src, priv->qemuCaps) < 0)
         return -1;

-    if (qemuDomainPrepareDiskSourceTLS(disk->src, cfg) < 0)
+    if (qemuDomainPrepareDiskSourceData(disk, disk->src, cfg, priv->qemuCaps) < 0)
         return -1;

-    if (qemuDomainSecretDiskPrepare(priv, disk) < 0)
+    if (qemuDomainSecretStorageSourcePrepare(priv, disk->src,
+                                             disk->info.alias,
+                                             disk->info.alias) < 0)
         return -1;

-    if (qemuDomainPrepareDiskSourceData(disk, disk->src, cfg, priv->qemuCaps) < 0)
+    if (qemuDomainPrepareStorageSourcePR(disk->src, priv, disk->info.alias) < 0)
         return -1;

-    if (qemuDomainPrepareStorageSourcePR(disk->src, priv, disk->info.alias) < 0)
+    return 0;
+}
+
+
+int
+qemuDomainPrepareDiskSource(virDomainDiskDefPtr disk,
+                            qemuDomainObjPrivatePtr priv,
+                            virQEMUDriverConfigPtr cfg)
+{
+    qemuDomainPrepareDiskCachemode(disk);
+
+    if (qemuDomainPrepareDiskSourceLegacy(disk, priv, cfg) < 0)
+        return -1;
+
+    if (qemuDomainPrepareDiskSourceTLS(disk->src, cfg) < 0)
         return -1;

     return 0;
-- 
2.16.2

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 20/38] qemu: domain: aggregate setup of disk drive options for -drive
Posted by Ján Tomko 6 years, 11 months ago
On Wed, May 30, 2018 at 02:41:16PM +0200, Peter Krempa wrote:
>When using blockdev the approach to base aliases will change. Add a
>helper function that will aggregate all code which needs to be called
>with the disk alias for the -drive to setup internal data.
>
>qemuDomainSecretDiskPrepare wrapper is no longer necessary as the
>contents were moved to a function which is designed to use the old
>aliases.
>
>Signed-off-by: Peter Krempa <pkrempa@redhat.com>
>---
> src/qemu/qemu_domain.c | 61 ++++++++++++++++++++++++++------------------------
> 1 file changed, 32 insertions(+), 29 deletions(-)
>

Reviewed-by: Ján Tomko <jtomko@redhat.com>

Jano
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list