[libvirt PATCH 03/17] util: move virQEMUBuildQemuImgKeySecretOpts into storage

Pavel Hrdina phrdina at redhat.com
Mon Dec 14 15:55:23 UTC 2020


Function virQEMUBuildQemuImgKeySecretOpts is not used anywhere else
so there is no need to have it in util.

Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
---
 src/libvirt_private.syms   |  1 -
 src/storage/storage_util.c | 74 ++++++++++++++++++++++++++++++++++++--
 src/util/virqemu.c         | 69 -----------------------------------
 src/util/virqemu.h         |  6 ----
 4 files changed, 72 insertions(+), 78 deletions(-)

diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 8f55ba515c..aecc5cd654 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -2953,7 +2953,6 @@ virQEMUBuildCommandLineJSONArrayNumbered;
 virQEMUBuildDriveCommandlineFromJSON;
 virQEMUBuildNetdevCommandlineFromJSON;
 virQEMUBuildObjectCommandlineFromJSON;
-virQEMUBuildQemuImgKeySecretOpts;
 
 
 # util/virrandom.h
diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c
index cf1f33f177..9b9f8b4f13 100644
--- a/src/storage/storage_util.c
+++ b/src/storage/storage_util.c
@@ -693,6 +693,74 @@ struct _virStorageBackendQemuImgInfo {
 };
 
 
+/**
+ * storageBackendBuildQemuImgEncriptionOpts:
+ * @buf: buffer to build the string into
+ * @encinfo: pointer to encryption info
+ * @alias: alias to use
+ *
+ * Generate the string for id=$alias and any encryption options for
+ * into the buffer.
+ *
+ * Important note, a trailing comma (",") is built into the return since
+ * it's expected other arguments are appended after the id=$alias string.
+ * So either turn something like:
+ *
+ *     "key-secret=$alias,"
+ *
+ * or
+ *     "key-secret=$alias,cipher-alg=twofish-256,cipher-mode=cbc,
+ *     hash-alg=sha256,ivgen-alg=plain64,igven-hash-alg=sha256,"
+ *
+ */
+static void
+storageBackendBuildQemuImgEncriptionOpts(virBufferPtr buf,
+                                         int format,
+                                         virStorageEncryptionInfoDefPtr encinfo,
+                                         const char *alias)
+{
+        const char *encprefix;
+
+    if (format == VIR_STORAGE_FILE_QCOW2) {
+        virBufferAddLit(buf, "encrypt.format=luks,");
+        encprefix = "encrypt.";
+    } else {
+        encprefix = "";
+    }
+
+    virBufferAsprintf(buf, "%skey-secret=%s,", encprefix, alias);
+
+    if (!encinfo->cipher_name)
+        return;
+
+    virBufferAsprintf(buf, "%scipher-alg=", encprefix);
+    virQEMUBuildBufferEscapeComma(buf, encinfo->cipher_name);
+    virBufferAsprintf(buf, "-%u,", encinfo->cipher_size);
+    if (encinfo->cipher_mode) {
+        virBufferAsprintf(buf, "%scipher-mode=", encprefix);
+        virQEMUBuildBufferEscapeComma(buf, encinfo->cipher_mode);
+        virBufferAddLit(buf, ",");
+    }
+    if (encinfo->cipher_hash) {
+        virBufferAsprintf(buf, "%shash-alg=", encprefix);
+        virQEMUBuildBufferEscapeComma(buf, encinfo->cipher_hash);
+        virBufferAddLit(buf, ",");
+    }
+    if (!encinfo->ivgen_name)
+        return;
+
+    virBufferAsprintf(buf, "%sivgen-alg=", encprefix);
+    virQEMUBuildBufferEscapeComma(buf, encinfo->ivgen_name);
+    virBufferAddLit(buf, ",");
+
+    if (encinfo->ivgen_hash) {
+        virBufferAsprintf(buf, "%sivgen-hash-alg=", encprefix);
+        virQEMUBuildBufferEscapeComma(buf, encinfo->ivgen_hash);
+        virBufferAddLit(buf, ",");
+    }
+}
+
+
 static int
 storageBackendCreateQemuImgOpts(virStorageEncryptionInfoDefPtr encinfo,
                                 char **opts,
@@ -704,8 +772,10 @@ storageBackendCreateQemuImgOpts(virStorageEncryptionInfoDefPtr encinfo,
         virBufferAsprintf(&buf, "backing_fmt=%s,",
                           virStorageFileFormatTypeToString(info->backingFormat));
 
-    if (encinfo)
-        virQEMUBuildQemuImgKeySecretOpts(&buf, info->format, encinfo, info->secretAlias);
+    if (encinfo) {
+        storageBackendBuildQemuImgEncriptionOpts(&buf, info->format, encinfo,
+                                                 info->secretAlias);
+    }
 
     if (info->preallocate) {
         if (info->size_arg > info->allocation)
diff --git a/src/util/virqemu.c b/src/util/virqemu.c
index 5405c9eac9..c4b6e8b3db 100644
--- a/src/util/virqemu.c
+++ b/src/util/virqemu.c
@@ -28,7 +28,6 @@
 #include "virqemu.h"
 #include "virstring.h"
 #include "viralloc.h"
-#include "virstoragefile.h"
 
 #define VIR_FROM_THIS VIR_FROM_NONE
 
@@ -384,71 +383,3 @@ virQEMUBuildBufferEscapeComma(virBufferPtr buf, const char *str)
 {
     virBufferEscape(buf, ',', ",", "%s", str);
 }
-
-
-/**
- * virQEMUBuildQemuImgKeySecretOpts:
- * @buf: buffer to build the string into
- * @encinfo: pointer to encryption info
- * @alias: alias to use
- *
- * Generate the string for id=$alias and any encryption options for
- * into the buffer.
- *
- * Important note, a trailing comma (",") is built into the return since
- * it's expected other arguments are appended after the id=$alias string.
- * So either turn something like:
- *
- *     "key-secret=$alias,"
- *
- * or
- *     "key-secret=$alias,cipher-alg=twofish-256,cipher-mode=cbc,
- *     hash-alg=sha256,ivgen-alg=plain64,igven-hash-alg=sha256,"
- *
- */
-void
-virQEMUBuildQemuImgKeySecretOpts(virBufferPtr buf,
-                                 int format,
-                                 virStorageEncryptionInfoDefPtr encinfo,
-                                 const char *alias)
-{
-    const char *encprefix;
-
-    if (format == VIR_STORAGE_FILE_QCOW2) {
-        virBufferAddLit(buf, "encrypt.format=luks,");
-        encprefix = "encrypt.";
-    } else {
-        encprefix = "";
-    }
-
-    virBufferAsprintf(buf, "%skey-secret=%s,", encprefix, alias);
-
-    if (!encinfo->cipher_name)
-        return;
-
-    virBufferAsprintf(buf, "%scipher-alg=", encprefix);
-    virQEMUBuildBufferEscapeComma(buf, encinfo->cipher_name);
-    virBufferAsprintf(buf, "-%u,", encinfo->cipher_size);
-    if (encinfo->cipher_mode) {
-        virBufferAsprintf(buf, "%scipher-mode=", encprefix);
-        virQEMUBuildBufferEscapeComma(buf, encinfo->cipher_mode);
-        virBufferAddLit(buf, ",");
-    }
-    if (encinfo->cipher_hash) {
-        virBufferAsprintf(buf, "%shash-alg=", encprefix);
-        virQEMUBuildBufferEscapeComma(buf, encinfo->cipher_hash);
-        virBufferAddLit(buf, ",");
-    }
-    if (!encinfo->ivgen_name)
-        return;
-
-    virBufferAsprintf(buf, "%sivgen-alg=", encprefix);
-    virQEMUBuildBufferEscapeComma(buf, encinfo->ivgen_name);
-    virBufferAddLit(buf, ",");
-
-    if (encinfo->ivgen_hash) {
-        virBufferAsprintf(buf, "%sivgen-hash-alg=", encprefix);
-        virQEMUBuildBufferEscapeComma(buf, encinfo->ivgen_hash);
-        virBufferAddLit(buf, ",");
-    }
-}
diff --git a/src/util/virqemu.h b/src/util/virqemu.h
index 2b33968158..b81efc765f 100644
--- a/src/util/virqemu.h
+++ b/src/util/virqemu.h
@@ -25,7 +25,6 @@
 #include "internal.h"
 #include "virbuffer.h"
 #include "virjson.h"
-#include "virstorageencryption.h"
 
 typedef int (*virQEMUBuildCommandLineJSONArrayFormatFunc)(const char *key,
                                                           virJSONValuePtr array,
@@ -59,8 +58,3 @@ int virQEMUBuildObjectCommandlineFromJSON(virBufferPtr buf,
 char *virQEMUBuildDriveCommandlineFromJSON(virJSONValuePtr src);
 
 void virQEMUBuildBufferEscapeComma(virBufferPtr buf, const char *str);
-void virQEMUBuildQemuImgKeySecretOpts(virBufferPtr buf,
-                                      int format,
-                                      virStorageEncryptionInfoDefPtr enc,
-                                      const char *alias)
-    ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(3) ATTRIBUTE_NONNULL(4);
-- 
2.28.0




More information about the libvir-list mailing list