[libvirt] [PATCH 2/2] iscsi: Establish connection to target via static target login

John Ferlan jferlan at redhat.com
Mon Jul 18 11:37:21 UTC 2016


https://bugzilla.redhat.com/show_bug.cgi?id=1356436

Commit id '56057900' altered the discovery of iSCSI node targets by
using the "--op nonpersistent". This caused issues for clean environments
or if by chance a "-m node -o delete" was executed.

Since each iSCSI Storage Pool has the required iSCSI target path, use
that and the virISCSINodeNew API in order to generate the iSCSI node record.

Signed-off-by: John Ferlan <jferlan at redhat.com>
---
 src/storage/storage_backend_iscsi.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/storage/storage_backend_iscsi.c b/src/storage/storage_backend_iscsi.c
index bb33da2..84ad6f3 100644
--- a/src/storage/storage_backend_iscsi.c
+++ b/src/storage/storage_backend_iscsi.c
@@ -353,11 +353,10 @@ virStorageBackendISCSIStartPool(virConnectPtr conn,
     if ((session = virStorageBackendISCSISession(pool, true)) == NULL) {
         if ((portal = virStorageBackendISCSIPortal(&pool->def->source)) == NULL)
             goto cleanup;
-        /*
-         * iscsiadm doesn't let you login to a target, unless you've
-         * first issued a 'sendtargets' command to the portal :-(
-         */
-        if (virISCSIScanTargets(portal, NULL, NULL) < 0)
+
+        /* Create a static node record for the IQN target. Must be done
+         * in order for login to the target */
+        if (virISCSINodeNew(portal, pool->def->source.devices[0].path) < 0)
             goto cleanup;
 
         if (virStorageBackendISCSISetAuth(portal, conn, &pool->def->source) < 0)
-- 
2.5.5




More information about the libvir-list mailing list