IB/srp: Fail I/O fast if target offline
authorBart Van Assche <bvanassche@acm.org>
Fri, 28 Jun 2013 12:49:58 +0000 (14:49 +0200)
committerRoland Dreier <roland@purestorage.com>
Mon, 1 Jul 2013 17:37:13 +0000 (10:37 -0700)
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>
drivers/infiniband/ulp/srp/ib_srp.c

index bc13c8db7fc2a0048c5d05bf272f53abcc985dbc..1f331011653ebdf655fd14c96df96e8fe276859b 100644 (file)
@@ -1754,6 +1754,8 @@ static int srp_abort(struct scsi_cmnd *scmnd)
                              SRP_TSK_ABORT_TASK) == 0 ||
            target->transport_offline)
                ret = SUCCESS;
+       else if (target->transport_offline)
+               ret = FAST_IO_FAIL;
        else
                ret = FAILED;
        srp_free_req(target, req, scmnd, 0);