All of lore.kernel.org
 help / color / mirror / Atom feed
* commit 1b6ac5e3f "fnic: Using rport->dd_data to check rport online instead of rport_lookup."
@ 2017-03-31  0:36 Joe Jin
  2017-04-20  2:27 ` Martin K. Petersen
  0 siblings, 1 reply; 2+ messages in thread
From: Joe Jin @ 2017-03-31  0:36 UTC (permalink / raw)
  To: satishkh; +Cc: linux-scsi

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: commit 1b6ac5e3f "fnic: Using rport->dd_data to check rport online instead of rport_lookup."
  2017-03-31  0:36 commit 1b6ac5e3f "fnic: Using rport->dd_data to check rport online instead of rport_lookup." Joe Jin
@ 2017-04-20  2:27 ` Martin K. Petersen
  0 siblings, 0 replies; 2+ messages in thread
From: Martin K. Petersen @ 2017-04-20  2:27 UTC (permalink / raw)
  To: satishkh; +Cc: Joe Jin, linux-scsi

Joe Jin <joe.jin@oracle.com> writes:

> 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?

Satish?

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-04-20  2:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-31  0:36 commit 1b6ac5e3f "fnic: Using rport->dd_data to check rport online instead of rport_lookup." Joe Jin
2017-04-20  2:27 ` Martin K. Petersen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.