@@ -2075,21 +2075,17 @@ static bool deferred_failback_tick(struct multipath *mpp)
}
static void
-retry_count_tick(vector mpvec)
+retry_count_tick(struct multipath *mpp)
{
- struct multipath *mpp;
- unsigned int i;
+ if (mpp->retry_tick <= 0)
+ return;
- vector_foreach_slot (mpvec, mpp, i) {
- if (mpp->retry_tick > 0) {
- mpp->stat_total_queueing_time++;
- condlog(4, "%s: Retrying.. No active path", mpp->alias);
- if(--mpp->retry_tick == 0) {
- mpp->stat_map_failures++;
- dm_queue_if_no_path(mpp, 0);
- condlog(2, "%s: Disable queueing", mpp->alias);
- }
- }
+ mpp->stat_total_queueing_time++;
+ condlog(4, "%s: Retrying.. No active path", mpp->alias);
+ if(--mpp->retry_tick == 0) {
+ mpp->stat_map_failures++;
+ dm_queue_if_no_path(mpp, 0);
+ condlog(2, "%s: Disable queueing", mpp->alias);
}
}
@@ -2960,8 +2956,9 @@ static void checker_finished(struct vectors *vecs)
reload_and_sync_map(mpp, vecs) == 2)
/* multipath device deleted */
i--;
+ else
+ retry_count_tick(mpp);
}
- retry_count_tick(vecs->mpvec);
missing_uev_wait_tick(vecs);
ghost_delay_tick(vecs);
partial_retrigger_tick(vecs->pathvec);
Signed-off-by: Martin Wilck <mwilck@suse.com> --- multipathd/main.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-)