[dm-devel] [PATCH] libmultipath: get_prio(): really don't reset prio for inaccessible paths

Martin Wilck mwilck at suse.com
Thu May 16 07:10:24 UTC 2019


As pointed out by Ben Marzinski, my previous patch ebbb56f2 doesn't do what
it pretends to do.

Fixes: ebbb56f2 "libmultipath: get_prio(): don't reset prio for inaccessible
paths"
---
 libmultipath/discovery.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c
index b3dc60b1..856c52c6 100644
--- a/libmultipath/discovery.c
+++ b/libmultipath/discovery.c
@@ -1648,10 +1648,11 @@ get_prio (struct path * pp)
 		/* this changes pp->offline, but why not */
 		int state = path_offline(pp);
 
-		if (state == PATH_DOWN || state == PATH_PENDING)
+		if (state == PATH_DOWN || state == PATH_PENDING) {
+			pp->priority = old_prio;
 			condlog(3, "%s: %s prio error in state %d, keeping prio = %d",
 				pp->dev, prio_name(p), state, pp->priority);
-		else {
+		} else {
 			condlog(3, "%s: %s prio error in state %d",
 				pp->dev, prio_name(p), state);
 			pp->priority = PRIO_UNDEF;
-- 
2.21.0




More information about the dm-devel mailing list