Commit ebd1f645 authored by Hannes Reinecke's avatar Hannes Reinecke Committed by James Bottomley

[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: default avatarHannes Reinecke <hare@suse.de>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent cfde3fa1
...@@ -506,7 +506,7 @@ static int alua_rtpg(struct scsi_device *sdev, struct alua_dh_data *h) ...@@ -506,7 +506,7 @@ static int alua_rtpg(struct scsi_device *sdev, struct alua_dh_data *h)
int len, k, off, valid_states = 0; int len, k, off, valid_states = 0;
unsigned char *ucp; unsigned char *ucp;
unsigned err; unsigned err;
unsigned long expiry, interval = 10; unsigned long expiry, interval = 1;
expiry = round_jiffies_up(jiffies + ALUA_FAILOVER_TIMEOUT); expiry = round_jiffies_up(jiffies + ALUA_FAILOVER_TIMEOUT);
retry: retry:
...@@ -567,7 +567,7 @@ static int alua_rtpg(struct scsi_device *sdev, struct alua_dh_data *h) ...@@ -567,7 +567,7 @@ static int alua_rtpg(struct scsi_device *sdev, struct alua_dh_data *h)
case TPGS_STATE_TRANSITIONING: case TPGS_STATE_TRANSITIONING:
if (time_before(jiffies, expiry)) { if (time_before(jiffies, expiry)) {
/* State transition, retry */ /* State transition, retry */
interval *= 10; interval *= 2;
msleep(interval); msleep(interval);
goto retry; goto retry;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment