Re: [PATCH] iscsi: conn error (1020) each time iscsi session logout

From: Mike Christie
Date: Wed Dec 18 2013 - 02:17:51 EST


On 12/18/2013 12:47 AM, Vaughan Cao wrote:
> We do a normal login/logout process to iscsi server. iscsiadm report success,
> but we always see the following error just before conn shutdown in dmesg.
>
> Oct 15 05:30:09 vmhodtest019 iscsid: Connection1:0 to [target:
> iqn.1986-03.com.sun:02:7b863a18-045a-cb04-c686-841f17df2f9c, portal:
> 10.182.32.162,3260] through [iface: default] is operational now
> Oct 15 05:30:42 vmhodtest019 kernel: connection1:0: detected conn error
> (1020)
> Oct 15 05:30:42 vmhodtest019 iscsid: Connection1:0 to [target:
> iqn.1986-03.com.sun:02:7b863a18-045a-cb04-c686-841f17df2f9c, portal:
> 10.182.32.162,3260] through [iface: default] is shutdown.
>
> It's because iscsi_tcp module evaluates socket state in data_ready() callback,
> and that detect the socket close. However, this socket close on target peer
> is in response to the logout request from initiator. So this is not an error
> that should be reported out. I quiesce it by checking session state and err
> value accordingly.
>
> Signed-off-by: Vaughan Cao <vaughan.cao@xxxxxxxxxx>
> ---
> drivers/scsi/libiscsi.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c
> index 415f2c0..84171ef 100644
> --- a/drivers/scsi/libiscsi.c
> +++ b/drivers/scsi/libiscsi.c
> @@ -1360,6 +1360,12 @@ void iscsi_conn_failure(struct iscsi_conn *conn, enum iscsi_err err)
> spin_unlock_bh(&session->lock);
> return;
> }
> + /* Target closed the connection in response to logout */
> + if (session->state == ISCSI_STATE_LOGGING_OUT &&
> + err == ISCSI_ERR_TCP_CONN_CLOSE) {
> + spin_unlock_bh(&session->lock);
> + return;
> + }
>
> if (conn->stop_stage == 0)
> session->state = ISCSI_STATE_FAILED;
>


Someone just sent a patch for this.

commit c712495e687e221b00bddae96247dbf6ffbc6200
Author: Chris Leech <cleech@xxxxxxxxxx>
Date: Thu Sep 26 09:09:44 2013 -0700

[SCSI] iscsi_tcp: consider session state in iscsi_sw_sk_state_check


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/