[SCSI] zfcp: Fail erp after timeout
authorChristof Schmitt <christof.schmitt@de.ibm.com>
Thu, 8 Jul 2010 07:53:09 +0000 (09:53 +0200)
committerJames Bottomley <James.Bottomley@suse.de>
Wed, 28 Jul 2010 14:46:41 +0000 (09:46 -0500)
After a timeout notification, do not try to run the erp strategy.
Return from the erp with "failed" to possibly trigger a retry.

Reviewed-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/s390/scsi/zfcp_erp.c

index 03cd636..64471ba 100644 (file)
@@ -1246,6 +1246,11 @@ static int zfcp_erp_strategy(struct zfcp_erp_action *erp_action)
                goto unlock;
        }
 
+       if (erp_action->status & ZFCP_STATUS_ERP_TIMEDOUT) {
+               retval = ZFCP_ERP_FAILED;
+               goto check_target;
+       }
+
        zfcp_erp_action_to_running(erp_action);
 
        /* no lock to allow for blocking operations */
@@ -1278,6 +1283,7 @@ static int zfcp_erp_strategy(struct zfcp_erp_action *erp_action)
                goto unlock;
        }
 
+check_target:
        retval = zfcp_erp_strategy_check_target(erp_action, retval);
        zfcp_erp_action_dequeue(erp_action);
        retval = zfcp_erp_strategy_statechange(erp_action, retval);