linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] fc-transport: Close state transition-window during rport deletion.
@ 2009-04-28 14:01 Andrew Vasquez
  2009-04-28 14:17 ` Mike Christie
  0 siblings, 1 reply; 7+ messages in thread
From: Andrew Vasquez @ 2009-04-28 14:01 UTC (permalink / raw)
  To: Linux SCSI Mailing List; +Cc: James Smart

After an rport's state has transitioned to FC_PORTSTATE_BLOCKED,
but, prior to making the upcall to 'block' the scsi-target
associated with an rport, queued commands can recycle and
ultimately run out of retries causing failures to propagate to
upper-level drivers.  Close this transition-window by returning
the non-'retries' modifying DID_IMM_RETRY status for submitted
I/Os.

Issue seen during continuous LIP-injection.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>

---

diff --git a/include/scsi/scsi_transport_fc.h b/include/scsi/scsi_transport_fc.h
index c9184f7..d189e0e 100644
--- a/include/scsi/scsi_transport_fc.h
+++ b/include/scsi/scsi_transport_fc.h
@@ -687,6 +687,8 @@ fc_remote_port_chkready(struct fc_rport *rport)
 	case FC_PORTSTATE_BLOCKED:
 		if (rport->flags & FC_RPORT_FAST_FAIL_TIMEDOUT)
 			result = DID_TRANSPORT_FAILFAST << 16;
+		else if (rport->flags & FC_RPORT_DEVLOSS_PENDING)
+			result = DID_IMM_RETRY << 16;
 		else
 			result = DID_TRANSPORT_DISRUPTED << 16;
 		break;

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

end of thread, other threads:[~2009-04-29 18:12 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-28 14:01 [PATCH] fc-transport: Close state transition-window during rport deletion Andrew Vasquez
2009-04-28 14:17 ` Mike Christie
2009-04-28 14:37   ` Andrew Vasquez
2009-04-28 15:01     ` Mike Christie
2009-04-28 16:01       ` Andrew Vasquez
2009-04-29 17:41         ` Mike Christie
2009-04-29 18:12           ` 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).