From: John Ferlan Date: Sat, 16 Jul 2016 12:15:03 +0000 (-0400) Subject: iscsi: Establish connection to target via static target login X-Git-Tag: v2.1.0~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5d8c31c6b202aa5ce4329042225bb40fec16baf9;p=thirdparty%2Flibvirt.git iscsi: Establish connection to target via static target login 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. --- diff --git a/src/storage/storage_backend_iscsi.c b/src/storage/storage_backend_iscsi.c index bb33da239b..84ad6f3e87 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)