From 307dd553685f8f5678cc8a07e189156a5cd17a53 Mon Sep 17 00:00:00 2001 From: shaver Date: Fri, 11 Jul 2003 08:36:06 +0000 Subject: [PATCH] Substantive: - don't resend pinger pings; there's really no point, and it does so terribly confuse the mighty set_wait state machine. - teach the mighty set_wait state machine about rq_no_resend. Less substantive: - defense of the sacred 80th column --- lustre/ptlrpc/pinger.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lustre/ptlrpc/pinger.c b/lustre/ptlrpc/pinger.c index cca7065..c81fb51 100644 --- a/lustre/ptlrpc/pinger.c +++ b/lustre/ptlrpc/pinger.c @@ -140,7 +140,8 @@ static int ptlrpc_pinger_main(void *arg) down(&pinger_sem); list_for_each(iter, &pinger_imports) { struct obd_import *imp = - list_entry(iter, struct obd_import, imp_pinger_chain); + list_entry(iter, struct obd_import, + imp_pinger_chain); int generation, level; unsigned long flags; @@ -152,16 +153,19 @@ static int ptlrpc_pinger_main(void *arg) spin_unlock_irqrestore(&imp->imp_lock, flags); if (level != LUSTRE_CONN_FULL) { - CDEBUG(D_HA, "not pinging %s (in recovery)\n", + CDEBUG(D_HA, + "not pinging %s (in recovery)\n", imp->imp_target_uuid.uuid); continue; } - req = ptlrpc_prep_req(imp, OBD_PING, 0, NULL, NULL); + req = ptlrpc_prep_req(imp, OBD_PING, 0, NULL, + NULL); if (!req) { CERROR("OOM trying to ping\n"); break; } + req->rq_no_resend = 1; req->rq_replen = lustre_msg_size(0, NULL); req->rq_level = LUSTRE_CONN_FULL; req->rq_phase = RQ_PHASE_RPC; -- 1.8.3.1