]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
[SCSI] scsi_dh_alua: Decrease retry interval
authorHannes Reinecke <hare@suse.de>
Wed, 24 Aug 2011 08:51:19 +0000 (10:51 +0200)
committerJames Bottomley <JBottomley@Parallels.com>
Tue, 30 Aug 2011 19:33:06 +0000 (12:33 -0700)
The alua device handler starts the first retry after 10 seconds,
and increases it times 10 for each round.
This leads to an unnecessary delay. This patch modifies it to
start after one second, and increase by a factor of two.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/device_handler/scsi_dh_alua.c

index 34c66118dfc473aaf39fa34a2fa74dc55bc1a502..9dce3670f8de045fe4c06bfdcf566706953cc61e 100644 (file)
@@ -506,7 +506,7 @@ static int alua_rtpg(struct scsi_device *sdev, struct alua_dh_data *h)
        int len, k, off, valid_states = 0;
        unsigned char *ucp;
        unsigned err;
-       unsigned long expiry, interval = 10;
+       unsigned long expiry, interval = 1;
 
        expiry = round_jiffies_up(jiffies + ALUA_FAILOVER_TIMEOUT);
  retry:
@@ -567,7 +567,7 @@ static int alua_rtpg(struct scsi_device *sdev, struct alua_dh_data *h)
        case TPGS_STATE_TRANSITIONING:
                if (time_before(jiffies, expiry)) {
                        /* State transition, retry */
-                       interval *= 10;
+                       interval *= 2;
                        msleep(interval);
                        goto retry;
                }