Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -679,15 +679,15 @@ fc_remote_port_chkready(struct fc_rport *rport)
		if (rport->roles & FC_PORT_ROLE_FCP_TARGET)
			result = 0;
		else if (rport->flags & FC_RPORT_DEVLOSS_PENDING)
			result = DID_IMM_RETRY << 16;
			result = DID_TRANSPORT_DISRUPTED << 16;
		else
			result = DID_NO_CONNECT << 16;
		break;
	case FC_PORTSTATE_BLOCKED:
		if (rport->flags & FC_RPORT_FAST_FAIL_TIMEDOUT)
			result = DID_NO_CONNECT << 16;
			result = DID_TRANSPORT_FAILFAST << 16;
		else
			result = DID_IMM_RETRY << 16;
			result = DID_TRANSPORT_DISRUPTED << 16;
		break;
	default:
		result = DID_NO_CONNECT << 16;