From: Joe Jin <joe.jin@oracle.com>
To: satishkh@cisco.com
Cc: linux-scsi@vger.kernel.org
Subject: commit 1b6ac5e3f "fnic: Using rport->dd_data to check rport online instead of rport_lookup."
Date: Fri, 31 Mar 2017 08:36:43 +0800 [thread overview]
Message-ID: <58DDA49B.6000300@oracle.com> (raw)
Hi Satish,
My customer hit below error when issue LIP to fnic controller:
[94702.898408] sd 2:0:4:1: [sdx] tag#1 FAILED Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
[94702.898416] sd 2:0:4:1: [sdx] tag#1 CDB: Write(10) 2a 00 04 56 c0 08 00 00 08 00
[94702.898420] blk_update_request: I/O error, dev sdx, sector 72794120
[94702.898455] sd 2:0:4:10: [sdy] tag#2 FAILED Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
[94702.898459] sd 2:0:4:10: [sdy] tag#2 CDB: Read(10) 28 00 00 00 08 a8 00 00 02 00
[94702.898462] blk_update_request: I/O error, dev sdy, sector 2216
Looked at all changes of fnic I found it caused by commit 1b6ac5e3f "fnic:
Using rport->dd_data to check rport online instead of rport_lookup.", a
question is why changed state check from RPORT_ST_DELETE to RPORT_ST_READY
here?
- if (!rdata || (rdata->rp_state == RPORT_ST_DELETE)) {
- FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host,
- "returning IO as rport is removed\n");
- atomic64_inc(&fnic_stats->misc_stats.rport_not_ready);
- sc->result = DID_NO_CONNECT;
- done(sc);
- return 0;
+ if (rport) {
+ struct fc_rport_libfc_priv *rp = rport->dd_data;
+
+ if (!rp || rp->rp_state != RPORT_ST_READY) {
+ FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host,
+ "returning DID_NO_CONNECT for IO as rport is removed\n");
Thanks,
Joe
next reply other threads:[~2017-03-31 0:36 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-31 0:36 Joe Jin [this message]
2017-04-20 2:27 ` commit 1b6ac5e3f "fnic: Using rport->dd_data to check rport online instead of rport_lookup." Martin K. Petersen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=58DDA49B.6000300@oracle.com \
--to=joe.jin@oracle.com \
--cc=linux-scsi@vger.kernel.org \
--cc=satishkh@cisco.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).