libmultipath/discovery.c: Fix a condition that will lead to a table reload during...
authorSean Stewart <sean.stewart@netapp.com>
Thu, 14 Nov 2013 00:06:34 +0000 (18:06 -0600)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Thu, 14 Nov 2013 19:53:27 +0000 (20:53 +0100)
If path_offline says PATH_UP and the checker says PATH_DOWN.  In
this case, pathinfo gets called twice, and the first call, from
update_prio sets it to -1 because the checker says it's down.  On the
second pathinfo call, from update_path_groups, it will call the
prioritizer based on the fact that the prio is -1. This leads to a flip
flop of the priority value and a reload on every check.

Signed-off-by: Sean Stewart <sean.stewart@netapp.com>
libmultipath/discovery.c

index 7035a43..04e3ead 100644 (file)
@@ -1138,8 +1138,6 @@ pathinfo (struct path *pp, vector hwtable, int mask)
                        if (!strlen(pp->wwid))
                                get_uid(pp);
                        get_prio(pp);
-               } else {
-                       pp->priority = PRIO_UNDEF;
                }
        }