23 lines
962 B
Diff
23 lines
962 B
Diff
diff -aurp open-iscsi-2.0-872-rc4-bnx2i/usr/initiator.c open-iscsi-2.0-872-rc4-bnx2i.workd/usr/initiator.c
|
|
--- open-iscsi-2.0-872-rc4-bnx2i/usr/initiator.c 2011-10-28 01:56:53.000000000 -0500
|
|
+++ open-iscsi-2.0-872-rc4-bnx2i.workd/usr/initiator.c 2011-10-28 01:57:42.000000000 -0500
|
|
@@ -1523,9 +1523,15 @@ static void setup_offload_login_phase(is
|
|
conn->state = ISCSI_CONN_STATE_IN_LOGIN;
|
|
if (ipc->start_conn(session->t->handle, session->id, conn->id,
|
|
&rc) || rc) {
|
|
- log_error("can't start connection %d:%d retcode %d (%d)",
|
|
- session->id, conn->id, rc, errno);
|
|
- iscsi_login_eh(conn, c->qtask, ISCSI_ERR_INTERNAL);
|
|
+ if (rc == -EEXIST) {
|
|
+ log_error("Session already exists.");
|
|
+ session_conn_shutdown(conn, c->qtask,
|
|
+ ISCSI_ERR_SESS_EXISTS);
|
|
+ } else {
|
|
+ log_error("can't start connection %d:%d retcode (%d)",
|
|
+ session->id, conn->id, rc);
|
|
+ iscsi_login_eh(conn, c->qtask, ISCSI_ERR_INTERNAL);
|
|
+ }
|
|
return;
|
|
}
|
|
|