3cfb1fe8dd
Previously the connection was scheduled to another core just after setting conn->full_feature to 1, but conn->state was still ISCSI_CONN_STATE_INVALID. The connection started to run on another core but could not run normally until conn->state became ISCSI_CONN_STATE_RUNNING. conn->state was changed late to ISCSI_CONN_STATE_RUNNING after sending the first login reponse. This gap window had caused intermittent critical failures. Based on this analysis, this patch changes to call spdk_iscsi_conn_schedule() just after sending the final login response. Whether any login response is final or not can be known by checking conn->full_feature is not zero. Fixes #785 Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Change-Id: I8ea55fef27e2f332fcd789d32daf479a24c0588d Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457414 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-by: Ziye Yang <ziye.yang@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>