Commit f46e307d authored by Mike Christie's avatar Mike Christie Committed by James Bottomley

[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: default avatarMike Christie <michaelc@cs.wisc.edu>
Acked-by: default avatarJames Smart <James.Smart@emulex.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
parent 56d7fcfa
...@@ -679,15 +679,15 @@ fc_remote_port_chkready(struct fc_rport *rport) ...@@ -679,15 +679,15 @@ fc_remote_port_chkready(struct fc_rport *rport)
if (rport->roles & FC_PORT_ROLE_FCP_TARGET) if (rport->roles & FC_PORT_ROLE_FCP_TARGET)
result = 0; result = 0;
else if (rport->flags & FC_RPORT_DEVLOSS_PENDING) else if (rport->flags & FC_RPORT_DEVLOSS_PENDING)
result = DID_IMM_RETRY << 16; result = DID_TRANSPORT_DISRUPTED << 16;
else else
result = DID_NO_CONNECT << 16; result = DID_NO_CONNECT << 16;
break; break;
case FC_PORTSTATE_BLOCKED: case FC_PORTSTATE_BLOCKED:
if (rport->flags & FC_RPORT_FAST_FAIL_TIMEDOUT) if (rport->flags & FC_RPORT_FAST_FAIL_TIMEDOUT)
result = DID_NO_CONNECT << 16; result = DID_TRANSPORT_FAILFAST << 16;
else else
result = DID_IMM_RETRY << 16; result = DID_TRANSPORT_DISRUPTED << 16;
break; break;
default: default:
result = DID_NO_CONNECT << 16; result = DID_NO_CONNECT << 16;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment