From: Lai Siyao Date: Mon, 5 Dec 2011 07:28:39 +0000 (+0800) Subject: LU-630 lnet: only router checks peer health X-Git-Tag: v1_8_9_WC1_RC1~41 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=5a16f88c1809b6cdaab34050ea1f7fe7e9f3f58f;p=fs%2Flustre-release.git LU-630 lnet: only router checks peer health The peer health code is designed for router, so a ~rtr node always assumes peers to be alive. Signed-off-by: Lai Siyao Change-Id: Iacdc7359c69e0f172de0914048b35bd6fe06133e Reviewed-on: http://review.whamcloud.com/4287 Tested-by: Hudson Reviewed-by: Isaac Huang Tested-by: Maloo Reviewed-by: Johann Lombardi --- diff --git a/lnet/lnet/lib-move.c b/lnet/lnet/lib-move.c index eb4f286..ceb4b7e 100644 --- a/lnet/lnet/lib-move.c +++ b/lnet/lnet/lib-move.c @@ -922,6 +922,7 @@ lnet_ni_peer_alive(lnet_peer_t *lp) LASSERT (lnet_peer_aliveness_enabled(lp)); LASSERT (ni->ni_lnd->lnd_query != NULL); + LASSERT (the_lnet.ln_routing == 1); LNET_UNLOCK(); (ni->ni_lnd->lnd_query)(ni, lp->lp_nid, &last_alive); @@ -931,7 +932,6 @@ lnet_ni_peer_alive(lnet_peer_t *lp) if (last_alive != 0) /* NI has updated timestamp */ lp->lp_last_alive = last_alive; - return; } /* NB: always called with LNET_LOCK held */ @@ -942,6 +942,7 @@ lnet_peer_is_alive (lnet_peer_t *lp, cfs_time_t now) cfs_time_t deadline; LASSERT (lnet_peer_aliveness_enabled(lp)); + LASSERT (the_lnet.ln_routing == 1); /* Trust lnet_notify() if it has more recent aliveness news, but * ignore the initial assumed death (see lnet_peers_start_down()). @@ -973,6 +974,10 @@ lnet_peer_alive_locked (lnet_peer_t *lp) { cfs_time_t now = cfs_time_current(); + /* LU-630: only router checks peer health. */ + if (the_lnet.ln_routing == 0) + return 1; + if (!lnet_peer_aliveness_enabled(lp)) return -ENODEV;