aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/device_handler/scsi_dh_alua.c
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2011-08-24 10:51:19 +0200
committerJames Bottomley <JBottomley@Parallels.com>2011-08-30 12:33:06 -0700
commitebd1f645bd4a284022c7d449a63fe48a3fc5a86e (patch)
tree8864088ac31540e775b11f7c44cf69c570c8ab1c /drivers/scsi/device_handler/scsi_dh_alua.c
parent[SCSI] scsi_dh_alua: Fix Erroneous TPG ID check (diff)
downloadlinux-dev-ebd1f645bd4a284022c7d449a63fe48a3fc5a86e.tar.xz
linux-dev-ebd1f645bd4a284022c7d449a63fe48a3fc5a86e.zip
[SCSI] scsi_dh_alua: Decrease retry interval
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>
Diffstat (limited to 'drivers/scsi/device_handler/scsi_dh_alua.c')
-rw-r--r--drivers/scsi/device_handler/scsi_dh_alua.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c
index 34c66118dfc4..9dce3670f8de 100644
--- a/drivers/scsi/device_handler/scsi_dh_alua.c
+++ b/drivers/scsi/device_handler/scsi_dh_alua.c
@@ -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;
}