[dm-devel] [PATCH 14/16] libmutipath: deprecate delay_*_checks
Benjamin Marzinski
bmarzins at redhat.com
Fri Aug 16 20:47:34 UTC 2019
On Wed, Aug 14, 2019 at 09:20:46PM +0000, Martin Wilck wrote:
> On Fri, 2019-08-02 at 11:33 -0500, Benjamin Marzinski wrote:
> > The delay_checks shaky paths detection method works the same way as
> > the
> > san_path_err method, but not as well, with less configurability, and
> > with the code spread all over check_path(). The only real difference
> > is
> > that marks the path as marginal for a certain number of path checks
> > instead of for a specific time. This patch deprecates the
> > delay_checks
> > method and maps it to the the san_path_err method.
> >
> > Signed-off-by: Benjamin Marzinski <bmarzins at redhat.com>
> > ---
> > libmultipath/configure.c | 17 +----------
> > libmultipath/propsel.c | 62 +++++++++++++++++++++++++++++-------
>
> I suppose that quite a few users are working with "delay_*_checks" in
> production. If we remove the option, we should at least clearly
> document how to map existing delay_*_checks parameters to san_path_err*
> parameters.
Didn't I? My patch does include changes to the man page that tells how
it gets remapped.
> IIUC, to (roughly) imitate the settings
>
> delay_watch_checks = C
> delay_wait_checks = W
>
> I need to set
>
> san_path_err_threshold = 2
> san_path_err_forget_rate = C
> san_path_err_recovery_time = W
>
> Correct? Or can it be done better?
Well, the code uses
san_path_err_threshold = 1 (since checks for a number of errors greater
than this threshold)
san_path_err_forget_rate = C
san_path_err_recovery_time = W * polling_interval
> (It's not exactly the same, as delay_watch_checks starts counting when
> a path is reinstated after a failure, while san_path_err_threshold
> counts good->bad transitions, and the threshold would be reached if a
> path fails more often than every C ticks _on average_).
> If the above is fine, we might as well map these settings in the code
> directly. IOW, instead of ignoring "delay_*_checks" altogether, we
> should ignore it only if either san_path_* or marginal_path_*
> parameters are set; Otherwise, we could simply map the delay_*_checks
> parameters as shown above.
Err.. This patch does do the remapping in code (in propsel.c) just as
you suggest.. right?
I'm confused here.
-Ben
> That would be a bit more user friendly in terms of backwards
> compatibility.
>
> Regards
> Martin
>
More information about the dm-devel
mailing list