[dm-devel] [PATCH 11/16] Fix max path checker timing
Hannes Reinecke
hare at suse.de
Fri May 3 06:59:11 UTC 2013
On 05/02/2013 11:46 PM, Benjamin Marzinski wrote:
> Due to some code being placed inside the wrong block, the number of
> seconds to wait between path checks (pp->tick), was only getting set to
> the path's individual check interval if that wasn't equal to the max
> check interval. Otherwise it was using the default for a failed path.
> This patch makes sure that pp->ticks always always gets set correctly
> for active paths.
>
> Signed-off-by: Benjamin Marzinski <bmarzins at redhat.com>
> ---
> multipathd/main.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/multipathd/main.c b/multipathd/main.c
> index 440d254..df1c5b9 100644
> --- a/multipathd/main.c
> +++ b/multipathd/main.c
> @@ -1219,11 +1219,10 @@ check_path (struct vectors * vecs, struct path * pp)
> pp->checkint = 2 * pp->checkint;
> else
> pp->checkint = conf->max_checkint;
> -
> - pp->tick = pp->checkint;
> - condlog(4, "%s: delay next check %is",
> - pp->dev_t, pp->tick);
> }
> + pp->tick = pp->checkint;
> + condlog(4, "%s: delay next check %is",
> + pp->dev_t, pp->tick);
> }
> }
> else if (newstate == PATH_DOWN) {
>
But then the message is wrong, isn't it?
We should be printing the 'delay next check' message only
if the check was actually delayed, ie inside the block.
So I think something like this should be more appropriate
(minus line-breaks, of course):
diff --git a/multipathd/main.c b/multipathd/main.c
index 6471d24..9901b02 100644
--- a/multipathd/main.c
+++ b/multipathd/main.c
@@ -1235,10 +1235,10 @@ check_path (struct vectors * vecs, struct
path * pp)
else
pp->checkint =
conf->max_checkint;
- pp->tick = pp->checkint;
condlog(4, "%s: delay next check %is",
pp->dev_t, pp->tick);
}
+ pp->tick = pp->checkint;
}
}
else if (newstate == PATH_DOWN) {
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare at suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
More information about the dm-devel
mailing list