File 60c40ce3-qemuDomainSecretDiskCapable.patch of Package libvirt

commit 60c40ce3be0c123a26ef83dbf4022706579da7a3
Author: John Ferlan <jferlan@redhat.com>
Date:   Fri Jun 24 15:47:09 2016 -0400

    qemu: Introduce helper qemuDomainSecretDiskCapable
    
    Introduce a helper to help determine if a disk src could be possibly used
    for a disk secret... Going to need this for hot unplug.
    
    Signed-off-by: John Ferlan <jferlan@redhat.com>

Index: libvirt-2.0.0/src/qemu/qemu_domain.c
===================================================================
--- libvirt-2.0.0.orig/src/qemu/qemu_domain.c
+++ libvirt-2.0.0/src/qemu/qemu_domain.c
@@ -972,6 +972,20 @@ qemuDomainSecretDiskDestroy(virDomainDis
 }
 
 
+bool
+qemuDomainSecretDiskCapable(virStorageSourcePtr src)
+{
+    if (!virStorageSourceIsEmpty(src) &&
+        virStorageSourceGetActualType(src) == VIR_STORAGE_TYPE_NETWORK &&
+        src->auth &&
+        (src->protocol == VIR_STORAGE_NET_PROTOCOL_ISCSI ||
+         src->protocol == VIR_STORAGE_NET_PROTOCOL_RBD))
+        return true;
+
+    return false;
+}
+
+
 /* qemuDomainSecretDiskPrepare:
  * @conn: Pointer to connection
  * @priv: pointer to domain private object
@@ -989,11 +1003,7 @@ qemuDomainSecretDiskPrepare(virConnectPt
     virStorageSourcePtr src = disk->src;
     qemuDomainSecretInfoPtr secinfo = NULL;
 
-    if (conn && !virStorageSourceIsEmpty(src) &&
-        virStorageSourceGetActualType(src) == VIR_STORAGE_TYPE_NETWORK &&
-        src->auth &&
-        (src->protocol == VIR_STORAGE_NET_PROTOCOL_ISCSI ||
-         src->protocol == VIR_STORAGE_NET_PROTOCOL_RBD)) {
+    if (conn && qemuDomainSecretDiskCapable(src)) {
 
         virSecretUsageType secretUsageType = VIR_SECRET_USAGE_TYPE_ISCSI;
         qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk);
Index: libvirt-2.0.0/src/qemu/qemu_domain.h
===================================================================
--- libvirt-2.0.0.orig/src/qemu/qemu_domain.h
+++ libvirt-2.0.0/src/qemu/qemu_domain.h
@@ -670,6 +670,9 @@ void qemuDomainMasterKeyRemove(qemuDomai
 void qemuDomainSecretDiskDestroy(virDomainDiskDefPtr disk)
     ATTRIBUTE_NONNULL(1);
 
+bool qemuDomainSecretDiskCapable(virStorageSourcePtr src)
+    ATTRIBUTE_NONNULL(1);
+
 int qemuDomainSecretDiskPrepare(virConnectPtr conn,
                                 qemuDomainObjPrivatePtr priv,
                                 virDomainDiskDefPtr disk)