[PATCH v1 6/7] qemu: support pass-on of multiple secrets to _qemuDomainStorageSourcePrivate

Or Ozeri oro at il.ibm.com
Mon Mar 6 12:53:11 UTC 2023


This commit extends qemuDomainSecretStorageSourcePrepare
to setup multiple qemu secrets as defined by virStorageSource->encryption.

Signed-off-by: Or Ozeri <oro at il.ibm.com>
---
 src/qemu/qemu_domain.c | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index a3b9b57cfa..ffe29dc832 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -1482,14 +1482,19 @@ qemuDomainSecretStorageSourcePrepare(qemuDomainObjPrivate *priv,
     }
 
     if (hasEnc) {
-        srcPriv->enccount = 1;
-        srcPriv->encinfo = g_new0(qemuDomainSecretInfo *, 1);
-        if (!(srcPriv->encinfo[0] = qemuDomainSecretInfoSetupFromSecret(priv, aliasformat,
-                                                                        "encryption", 0,
-                                                                        VIR_SECRET_USAGE_TYPE_VOLUME,
-                                                                        NULL,
-                                                                        &src->encryption->secrets[0]->seclookupdef)))
-            return -1;
+        size_t nsecrets = src->encryption->nsecrets;
+        size_t i;
+
+        srcPriv->enccount = nsecrets;
+        srcPriv->encinfo = g_new0(qemuDomainSecretInfo *, nsecrets);
+        for (i = 0; i < nsecrets; ++i) {
+            if (!(srcPriv->encinfo[i] = qemuDomainSecretInfoSetupFromSecret(priv, aliasformat,
+                                                                            "encryption", i,
+                                                                            VIR_SECRET_USAGE_TYPE_VOLUME,
+                                                                            NULL,
+                                                                            &src->encryption->secrets[i]->seclookupdef)))
+                return -1;
+        }
     }
 
     if (src->ncookies &&
-- 
2.25.1



More information about the libvir-list mailing list