lib/iscsi: add a check in spdk_iscsi_conn_sock_cb

Since we have two pollers for each iSCSI polling group,
so it could be possible that the nop_poller to set
iSCSI connection in existed or existing state.
So add a check here, which means the incoming data
is too late.

Change-Id: I94e5090b005c35c9eb5d7eedbd7acdae67327f94
Signed-off-by: Ziye Yang <optimistyzy@gmail.com>
Reviewed-on: https://review.gerrithub.io/402039
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
Ziye Yang 2018-03-02 02:12:09 +08:00 committed by Daniel Verkamp
parent 068b6fb34d
commit 8642813403

View File

@ -1150,6 +1150,11 @@ spdk_iscsi_conn_sock_cb(void *arg, struct spdk_sock_group *group, struct spdk_so
assert(conn != NULL);
if ((conn->state == ISCSI_CONN_STATE_EXITED) ||
(conn->state == ISCSI_CONN_STATE_EXITING)) {
return;
}
/* Handle incoming PDUs */
rc = spdk_iscsi_conn_handle_incoming_pdus(conn);
if (rc < 0) {