diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c index efc2016..15fe89b 100644 --- a/libmultipath/discovery.c +++ b/libmultipath/discovery.c @@ -701,7 +701,14 @@ pathinfo (struct path *pp, vector hwtabl if (mask & DI_CHECKER && get_state(pp)) goto blank; - if (mask & DI_PRIO && pp->state != PATH_DOWN) + + /* + * Path state of PATH_DOWN does not necessarily prevent + * path priority callout (or getuid callouot) from + * succeeding since the path may be being considered + * failed for reasons other than transport connectivity. + */ + if (mask & DI_PRIO /*&& pp->state != PATH_DOWN*/) get_prio(pp); if (mask & DI_WWID && !strlen(pp->wwid))