aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Christie <michaelc@cs.wisc.edu>2008-08-19 19:45:27 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-10-13 09:28:49 -0400
commitf46e307da925a7b71a0018c0510cdc6e588b87fc (patch)
tree7bb9e8af0c33ed8fef53ea98e6ceceff7f9f3528
parent56d7fcfa815564b40a1b0ec7a30ea8cb3bc0713e (diff)
[SCSI] fc class: Add support for new transport errors
If the target is blocked and fast io fail tmo has not fired then we requeue with DID_TRANSPORT_DISRUPTED. Once that tmo fires we fail with DID_TRANSPORT_FAILFAST. v2 - seperate from "fc class: unblock target after calling terminate callback" to make it easier to review. - Add JamesS's ack from list. v2 - initial patch Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Acked-by: James Smart <James.Smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
-rw-r--r--include/scsi/scsi_transport_fc.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/scsi/scsi_transport_fc.h b/include/scsi/scsi_transport_fc.h
index fb8d01370663..49d8913c4f86 100644
--- a/include/scsi/scsi_transport_fc.h
+++ b/include/scsi/scsi_transport_fc.h
@@ -679,15 +679,15 @@ fc_remote_port_chkready(struct fc_rport *rport)
679 if (rport->roles & FC_PORT_ROLE_FCP_TARGET) 679 if (rport->roles & FC_PORT_ROLE_FCP_TARGET)
680 result = 0; 680 result = 0;
681 else if (rport->flags & FC_RPORT_DEVLOSS_PENDING) 681 else if (rport->flags & FC_RPORT_DEVLOSS_PENDING)
682 result = DID_IMM_RETRY << 16; 682 result = DID_TRANSPORT_DISRUPTED << 16;
683 else 683 else
684 result = DID_NO_CONNECT << 16; 684 result = DID_NO_CONNECT << 16;
685 break; 685 break;
686 case FC_PORTSTATE_BLOCKED: 686 case FC_PORTSTATE_BLOCKED:
687 if (rport->flags & FC_RPORT_FAST_FAIL_TIMEDOUT) 687 if (rport->flags & FC_RPORT_FAST_FAIL_TIMEDOUT)
688 result = DID_NO_CONNECT << 16; 688 result = DID_TRANSPORT_FAILFAST << 16;
689 else 689 else
690 result = DID_IMM_RETRY << 16; 690 result = DID_TRANSPORT_DISRUPTED << 16;
691 break; 691 break;
692 default: 692 default:
693 result = DID_NO_CONNECT << 16; 693 result = DID_NO_CONNECT << 16;