Skip to content

Commit

Permalink
dm mpath: skip activate_path for failed paths
Browse files Browse the repository at this point in the history
This patch adds two minor fixes while processing device mapper path activation.

Skip failed paths while calling activate_path.  If the path is already failed
then activate_path will fail for sure. We don't have to call in that case. In
some case this might cause prolonged retries unnecessarily.

Change the misleading message if the path being activated fails with SCSI_DH_NOSYS.

Signed-off-by: Babu Moger <babu.moger@lsi.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
  • Loading branch information
Moger, Babu authored and Alasdair G Kergon committed Mar 6, 2010
1 parent 83c0d5d commit f7b934c
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions drivers/md/dm-mpath.c
Original file line number Diff line number Diff line change
Expand Up @@ -461,6 +461,9 @@ static void process_queued_ios(struct work_struct *work)
m->pg_init_count++;
m->pg_init_required = 0;
list_for_each_entry(tmp, &pgpath->pg->pgpaths, list) {
/* Skip failed paths */
if (!tmp->is_active)
continue;
if (queue_work(kmpath_handlerd, &tmp->activate_path))
m->pg_init_in_progress++;
}
Expand Down Expand Up @@ -1142,8 +1145,8 @@ static void pg_init_done(void *data, int errors)
errors = 0;
break;
}
DMERR("Cannot failover device because scsi_dh_%s was not "
"loaded.", m->hw_handler_name);
DMERR("Could not failover the device: Handler scsi_dh_%s "
"Error %d.", m->hw_handler_name, errors);
/*
* Fail path for now, so we do not ping pong
*/
Expand Down

0 comments on commit f7b934c

Please sign in to comment.