Whamcloud - gitweb
LU-13049 lnet: peer lookup handle shutdown 25/36925/4
authorAmir Shehata <ashehata@whamcloud.com>
Wed, 4 Dec 2019 20:19:05 +0000 (12:19 -0800)
committerOleg Drokin <green@whamcloud.com>
Tue, 28 Jan 2020 06:02:09 +0000 (06:02 +0000)
When LNet is shutting down, looking up peer_nis shouldn't assert
but return NULL. Callers handle NULL return

Test-Parameters: trivial
Signed-off-by: Amir Shehata <ashehata@whamcloud.com>
Change-Id: Ia658f527719a71b2d0bed144ae03582eff54fcf9
Reviewed-on: https://review.whamcloud.com/36925
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Reviewed-by: Neil Brown <neilb@suse.de>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lnet/lnet/peer.c

index b3e911b..1a0601f 100644 (file)
@@ -653,7 +653,8 @@ lnet_get_peer_ni_locked(struct lnet_peer_table *ptable, lnet_nid_t nid)
        struct list_head        *peers;
        struct lnet_peer_ni     *lp;
 
        struct list_head        *peers;
        struct lnet_peer_ni     *lp;
 
-       LASSERT(the_lnet.ln_state == LNET_STATE_RUNNING);
+       if (the_lnet.ln_state != LNET_STATE_RUNNING)
+               return NULL;
 
        peers = &ptable->pt_hash[lnet_nid2peerhash(nid)];
        list_for_each_entry(lp, peers, lpni_hashlist) {
 
        peers = &ptable->pt_hash[lnet_nid2peerhash(nid)];
        list_for_each_entry(lp, peers, lpni_hashlist) {