On Wed, 2024-08-28 at 18:17 -0400, Benjamin Marzinski wrote: > Instead of updating the path priorities and possibly reloading the > multipath device when each path is updated, wait till all paths > have been updated, and then go through the multipath devices updating > the priorities once, reloading if necessary. > > Signed-off-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx> > --- > libmultipath/structs.h | 9 +++ > multipathd/main.c | 169 ++++++++++++++++++++++++++------------- > -- > 2 files changed, 118 insertions(+), 60 deletions(-) > > diff --git a/multipathd/main.c b/multipathd/main.c > index 2bcc6066..1511f701 100644 > --- a/multipathd/main.c > +++ b/multipathd/main.c > > @@ -2859,7 +2898,7 @@ update_paths(struct vectors *vecs, int > *num_paths_p, time_t start_secs) > i--; > else { > pp->is_checked = rc; > - if (rc == CHECK_PATH_CHECKED) > + if (rc == CHECK_PATH_CHECKED || > CHECK_PATH_NEW_UP) This causes compilation errors. I suppose you meant (rc == CHECK_PATH_CHECKED || rc == CHECK_PATH_NEW_UP) (fixed this up for now on my "tip" branch). Martin