dm mpath: delay activate_path retry on SCSI_DH_RETRY
authorChandra Seetharaman <sekharan@us.ibm.com>
Thu, 13 Jan 2011 20:00:01 +0000 (20:00 +0000)
committerAlasdair G Kergon <agk@redhat.com>
Thu, 13 Jan 2011 20:00:01 +0000 (20:00 +0000)
commit4e2d19e46b507018c6ed15f6c081d8f887ae229c
treec4004056ca62763c87e5dae1c19d7e22877ec571
parent052189a2ec956810feefb6a681416c5e6a207646
dm mpath: delay activate_path retry on SCSI_DH_RETRY

This patch adds a user-configurable 'pg_init_delay_msecs' feature.  Use
this feature to specify the number of milliseconds to delay before
retrying scsi_dh_activate, when SCSI_DH_RETRY is returned.

SCSI Device Handlers return SCSI_DH_IMM_RETRY if we could retry
activation immediately and SCSI_DH_RETRY in cases where it is better to
retry after some delay.

Currently we immediately retry scsi_dh_activate irrespective of
SCSI_DH_IMM_RETRY and SCSI_DH_RETRY.

The 'pg_init_delay_msecs' feature may be provided during table create or
load, e.g.:
    dmsetup create --table "0 20971520 multipath 3 queue_if_no_path \
pg_init_delay_msecs 2500 ..." mpatha

The default for 'pg_init_delay_msecs' is 2000 milliseconds.
Maximum configurable delay is 60000 milliseconds.  Specifying a
'pg_init_delay_msecs' of 0 will cause immediate retry.

Signed-off-by: Nikanth Karthikesan <knikanth@suse.de>
Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com>
Acked-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
drivers/md/dm-mpath.c