[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <52B14C10.4060709@cs.wisc.edu>
Date: Wed, 18 Dec 2013 01:17:36 -0600
From: Mike Christie <michaelc@...wisc.edu>
To: Vaughan Cao <vaughan.cao@...cle.com>
CC: James.Bottomley@...e.de, open-iscsi@...glegroups.com,
linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] iscsi: conn error (1020) each time iscsi session logout
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@...cle.com>
> ---
> 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@...hat.com>
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists