]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: domain: Don't allocate storage source private data if not needed
authorPeter Krempa <pkrempa@redhat.com>
Thu, 9 Nov 2017 11:54:43 +0000 (12:54 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 13 Nov 2017 12:28:49 +0000 (13:28 +0100)
src/qemu/qemu_domain.c

index 61d28337b8f0d5261dfb0abe38d527b317277f85..db5af101914a5a55d104f4c2f03d7a16f4c46d76 100644 (file)
@@ -1402,13 +1402,18 @@ qemuDomainSecretStorageSourcePrepare(virConnectPtr conn,
                                      const char *encalias)
 {
     qemuDomainStorageSourcePrivatePtr srcPriv;
+    bool hasAuth = qemuDomainSecretDiskCapable(src);
+    bool hasEnc = qemuDomainDiskHasEncryptionSecret(src);
+
+    if (!hasAuth && !hasEnc)
+        return 0;
 
     if (!(src->privateData = qemuDomainStorageSourcePrivateNew()))
         return -1;
 
     srcPriv = QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(src);
 
-    if (qemuDomainSecretDiskCapable(src)) {
+    if (hasAuth) {
         virSecretUsageType usageType = VIR_SECRET_USAGE_TYPE_ISCSI;
 
         if (src->protocol == VIR_STORAGE_NET_PROTOCOL_RBD)
@@ -1421,7 +1426,7 @@ qemuDomainSecretStorageSourcePrepare(virConnectPtr conn,
               return -1;
     }
 
-    if (qemuDomainDiskHasEncryptionSecret(src)) {
+    if (hasEnc) {
         if (!(srcPriv->encinfo =
               qemuDomainSecretInfoNew(conn, priv, encalias,
                                       VIR_SECRET_USAGE_TYPE_VOLUME, NULL,