Commit d2b0b154 authored by ShadowMov's avatar ShadowMov Committed by Tomasz Zawadzki
Browse files

lib/iscsi: fix op_logout rsph->response judgement



According to iSCSI 7143 spec 11.15.1 (3720 spec 10.15.1),
Rsph->response should be 0 if connection or session closed successfully.

The current code mistakenly compared cid provided by initiator with
inner conn->id parameter, which does not follow the spec.

Change-Id: I12dbb3471be5d49380c6b65bcdb67c57df11665f
Signed-off-by: default avatarShadowMov <jinnian.hjn@alibaba-inc.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5731


Reviewed-by: default avatarZiye Yang <ziye.yang@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent ab27b2c4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2564,7 +2564,7 @@ iscsi_pdu_hdr_op_logout(struct spdk_iscsi_conn *conn, struct spdk_iscsi_pdu *pdu
		/* ignore error */
	}

	if (conn->id == cid) {
	if (conn->cid == cid) {
		/* connection or session closed successfully */
		response = 0;
		iscsi_conn_logout(conn);
+1 −1
Original line number Diff line number Diff line
@@ -1537,7 +1537,7 @@ pdu_hdr_op_logout_test(void)
	sess.ExpCmdSN = 5679;
	sess.connections = 1;
	conn.sess = &sess;
	conn.id = 1;
	conn.cid = 1;

	rc = iscsi_pdu_hdr_op_logout(&conn, &pdu);
	CU_ASSERT(rc == 0);