[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