From d2b0b154065056908b02947a70fe885023742f77 Mon Sep 17 00:00:00 2001 From: ShadowMov Date: Wed, 30 Dec 2020 12:04:10 +0800 Subject: [PATCH] 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: ShadowMov Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5731 Reviewed-by: Ziye Yang Reviewed-by: Changpeng Liu Reviewed-by: Jim Harris Reviewed-by: Shuhei Matsumoto Tested-by: SPDK CI Jenkins --- lib/iscsi/iscsi.c | 2 +- test/unit/lib/iscsi/iscsi.c/iscsi_ut.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/iscsi/iscsi.c b/lib/iscsi/iscsi.c index 89c5a62f7..281e10e0f 100644 --- a/lib/iscsi/iscsi.c +++ b/lib/iscsi/iscsi.c @@ -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); diff --git a/test/unit/lib/iscsi/iscsi.c/iscsi_ut.c b/test/unit/lib/iscsi/iscsi.c/iscsi_ut.c index 962630e74..c901e9ef4 100644 --- a/test/unit/lib/iscsi/iscsi.c/iscsi_ut.c +++ b/test/unit/lib/iscsi/iscsi.c/iscsi_ut.c @@ -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);