aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/ulp/srp
diff options
context:
space:
mode:
authorBart Van Assche <bvanassche@acm.org>2013-06-28 08:49:58 -0400
committerRoland Dreier <roland@purestorage.com>2013-07-01 13:37:13 -0400
commit99e1c1398f44a056b16e78122133988c82b66d97 (patch)
treedf0d03078df9246b570c2260bf9edc89b09a73b5 /drivers/infiniband/ulp/srp
parent2742c1dadde602baea6f0547c028154aebd6f1ca (diff)
IB/srp: Fail I/O fast if target offline
If reconnecting failed we know that no command completion will be received anymore. Hence let the SCSI error handler fail such commands immediately. Signed-off-by: Bart Van Assche <bvanassche@acm.org> Acked-by: David Dillow <dillowda@ornl.gov> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/ulp/srp')
-rw-r--r--drivers/infiniband/ulp/srp/ib_srp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c
index bc13c8db7fc2..1f331011653e 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.c
+++ b/drivers/infiniband/ulp/srp/ib_srp.c
@@ -1754,6 +1754,8 @@ static int srp_abort(struct scsi_cmnd *scmnd)
1754 SRP_TSK_ABORT_TASK) == 0 || 1754 SRP_TSK_ABORT_TASK) == 0 ||
1755 target->transport_offline) 1755 target->transport_offline)
1756 ret = SUCCESS; 1756 ret = SUCCESS;
1757 else if (target->transport_offline)
1758 ret = FAST_IO_FAIL;
1757 else 1759 else
1758 ret = FAILED; 1760 ret = FAILED;
1759 srp_free_req(target, req, scmnd, 0); 1761 srp_free_req(target, req, scmnd, 0);