[dm-devel] [PATCH V2 09/11] multipathd: only refresh priorities in update_prio()

Martin Wilck martin.wilck at suse.com
Wed Jun 7 19:00:22 UTC 2023


On Tue, 2023-06-06 at 15:13 -0500, Benjamin Marzinski wrote:
> Multipathd previously had various rules to update priorities in
> update_prio(), need_switch_pathgroup(), and reload_map(). Instead,
> only
> update the priority in update_prio().  To cover the cases where the
> priorities were getting updated in other functions, update_prio() now
> always updates all paths' priorities, if the priority on the path
> that
> it was called with changes.
> 
> Also, do not try to update a path's priority if it is down.
> Previously,
> when refreshing all the paths' priorities, a path could have its
> priority updated when it was in the PATH_DOWN state, as long as its
> priority was PRIO_UNDEF. But if a path is down, and the last time
> multipath tried to get its priority, it failed, it seems likely that
> the
> prioritizer will just fail again.
> 
> Finally, skip updating all paths' priorities in
> deferred_failback_tick().  Now that all the paths' priorities will
> get
> updated when one changes before starting the deferred failback count,
> it's no longer necessary to update them all again when the failback
> timeout expires.  The checker loop will continue to update them
> correctly while the timeout is going on.
> 
> Signed-off-by: Benjamin Marzinski <bmarzins at redhat.com>

Nice, thanks for doing this.

Reviewed-by: Martin Wilck <mwilck at suse.com>



More information about the dm-devel mailing list