diff options
author | Lee Duncan <lduncan@suse.com> | 2022-05-07 13:45:04 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-07 13:45:04 -0700 |
commit | 8c43a977dc2aed34b7c6e7ab8d4bc31f4e2ac0b5 (patch) | |
tree | b679d9306d05d04e9fafd6c60808b5af91814d44 | |
parent | 89f73e0c5a57a43f135d4b4bf55423a4109cc551 (diff) | |
parent | 2b723d371dc3de8e0cd9b35f0c17ca1c54094b4c (diff) | |
download | open-iscsi-8c43a977dc2aed34b7c6e7ab8d4bc31f4e2ac0b5.tar.gz |
Merge pull request #343 from mikechristie/fix-logout
iscsid: fix logout pdu send failure detection handling
-rw-r--r-- | usr/initiator.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/usr/initiator.c b/usr/initiator.c index 7186729..56bf38b 100644 --- a/usr/initiator.c +++ b/usr/initiator.c @@ -1153,8 +1153,9 @@ static void iscsi_stop(void *data) rc = iscsi_send_logout(conn); if (!rc) return; - conn_error(conn, "Could not send logout pdu(%s) from iscsi_stop." - "Dropping session", strerror(rc)); + + conn_error(conn, "Could not send logout pdu(%s) from iscsi_stop. Dropping session", + strerror(rc)); } rc = session_conn_shutdown(conn, conn->logout_qtask, ISCSI_SUCCESS); @@ -1239,8 +1240,8 @@ static void iscsi_recv_async_msg(iscsi_conn_t *conn, struct iscsi_hdr *hdr) */ rc = iscsi_send_logout(conn); if (rc) - conn_error(conn, "Could not send logout in response to" - "logout request aen:%s", strerror(rc)); + conn_error(conn, "Could not send logout in response to logout request aen:%s", + strerror(rc)); break; case ISCSI_ASYNC_MSG_DROPPING_CONNECTION: conn_warn(conn, "Target dropping %u, reconnect min %u max %u", ntohs(async_hdr->param1), @@ -2146,12 +2147,12 @@ invalid_state: if (!(session->t->caps & CAP_LOGIN_OFFLOAD)) { /* unbind is not supported so just do old logout */ rc = iscsi_send_logout(conn); - if (rc) + if (!rc) return ISCSI_SUCCESS; } - conn_error(conn, "Could not send logout pdu(%s) from session_logout_task." - "Dropping session", strerror(rc)); + conn_error(conn, "Could not send logout pdu(%s) from session_logout_task. Dropping session", + strerror(rc)); /* fallthrough */ default: rc = session_conn_shutdown(conn, qtask, ISCSI_SUCCESS); |