On Wed, Sep 04, 2024 at 05:06:23PM +0200, Martin Wilck wrote: > 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) D'oh! Yep. Thanks. -Ben > > (fixed this up for now on my "tip" branch). > > Martin