* [PATCH] iscsi: conn error (1020) each time iscsi session logout
@ 2013-12-18 6:47 Vaughan Cao
[not found] ` <1387349221-18501-1-git-send-email-vaughan.cao-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
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 related [flat|nested] 2+ messages in thread[parent not found: <1387349221-18501-1-git-send-email-vaughan.cao-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>]
* Re: [PATCH] iscsi: conn error (1020) each time iscsi session logout [not found] ` <1387349221-18501-1-git-send-email-vaughan.cao-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org> @ 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-l3A5Bk7waGM, open-iscsi-/JYPxA39Uh5TLH3MbocFFw, linux-scsi-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA 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-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org> > --- > 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-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> Date: Thu Sep 26 09:09:44 2013 -0700 [SCSI] iscsi_tcp: consider session state in iscsi_sw_sk_state_check -- You received this message because you are subscribed to the Google Groups "open-iscsi" group. To unsubscribe from this group and stop receiving emails from it, send an email to open-iscsi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To post to this group, send email to open-iscsi-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org Visit this group at http://groups.google.com/group/open-iscsi. For more options, visit https://groups.google.com/groups/opt_out. ^ 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
[not found] ` <1387349221-18501-1-git-send-email-vaughan.cao-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
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; as well as URLs for NNTP newsgroup(s).