X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lnet%2Flnet%2Frouter.c;h=2f9cc019177ae93168336f920434086f3646ac39;hp=3a211fa1c088749e25682c4945cf1a066d42cdcd;hb=b418bd36742a4c1d3f28dd2ee5823d54ece76035;hpb=488f93f92541e07d269c7e3d94905f96e9cd0609;ds=sidebyside diff --git a/lnet/lnet/router.c b/lnet/lnet/router.c index 3a211fa..2f9cc01 100644 --- a/lnet/lnet/router.c +++ b/lnet/lnet/router.c @@ -184,6 +184,13 @@ lnet_notify (lnet_ni_t *ni, lnet_nid_t nid, int alive, time_t when) return 0; } + /* We can't fully trust LND on reporting exact peer last_alive + * if he notifies us about dead peer. For example ksocklnd can + * call us with when == _time_when_the_node_was_booted_ if + * no connections were successfully established */ + if (ni != NULL && !alive && when < lp->lp_last_alive) + when = lp->lp_last_alive; + lnet_notify_locked(lp, ni == NULL, alive, when); LNET_UNLOCK();