* [PATCH] iscsi: conn error (1020) each time iscsi session logout
@ 2013-12-18 6:47 Vaughan Cao
2013-12-18 7:17 ` Mike Christie
0 siblings, 1 reply; 2+ messages in thread
From: Vaughan Cao @ 2013-12-18 6:47 UTC (permalink / raw)
To: michaelc
Cc: James.Bottomley, vaughan.cao, open-iscsi, linux-scsi, linux-kernel
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@oracle.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;
--
1.8.3.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] iscsi: conn error (1020) each time iscsi session logout
2013-12-18 6:47 [PATCH] iscsi: conn error (1020) each time iscsi session logout Vaughan Cao
@ 2013-12-18 7:17 ` Mike Christie
0 siblings, 0 replies; 2+ messages in thread
From: Mike Christie @ 2013-12-18 7:17 UTC (permalink / raw)
To: Vaughan Cao; +Cc: James.Bottomley, open-iscsi, linux-scsi, linux-kernel
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@oracle.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@redhat.com>
Date: Thu Sep 26 09:09:44 2013 -0700
[SCSI] iscsi_tcp: consider session state in iscsi_sw_sk_state_check
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-12-18 7:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-18 6:47 [PATCH] iscsi: conn error (1020) each time iscsi session logout Vaughan Cao
2013-12-18 7:17 ` Mike Christie
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®