diff options
-rw-r--r-- | usr/initiator.c | 4 | ||||
-rw-r--r-- | usr/iscsid.c | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/usr/initiator.c b/usr/initiator.c index 684647c..4ec00b0 100644 --- a/usr/initiator.c +++ b/usr/initiator.c @@ -2012,6 +2012,10 @@ iscsi_sync_session(node_rec_t *rec, queue_task_t *qtask, uint32_t sid) struct iscsi_transport *t; int err; + session = session_find_by_sid(sid); + if (session != NULL) + return ISCSI_ERR_SESS_EXISTS; + t = iscsi_sysfs_get_transport_by_name(rec->iface.transport_name); if (!t) return ISCSI_ERR_TRANS_NOT_FOUND; diff --git a/usr/iscsid.c b/usr/iscsid.c index 478c83d..e5bd1f5 100644 --- a/usr/iscsid.c +++ b/usr/iscsid.c @@ -289,7 +289,10 @@ retry: retries++; sleep(1); goto retry; + } else if (rc == ISCSI_ERR_SESS_EXISTS) { + log_debug(1, "sync session %d returned ISCSI_ERR_SESS_EXISTS", info->sid); } + return 0; } |