Whamcloud - gitweb
LU-13571 lnd: Use NETWORK_TIMEOUT for some conn failures 00/39900/15
authorChris Horn <chris.horn@hpe.com>
Fri, 11 Sep 2020 19:13:32 +0000 (14:13 -0500)
committerOleg Drokin <green@whamcloud.com>
Thu, 3 Dec 2020 07:26:29 +0000 (07:26 +0000)
For -EHOSTUNREACH and -ETIMEDOUT we cannot tell whether the
connnection failure was due to a problem with the remote or local NI,
so we should return the LNET_MSG_STATUS_NETWORK_TIMEOUT to LNet in
these cases.

HPE-bug-id: LUS-9342
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: I9036f5698061ce74fe29683b8249b8f9a05f3433
Reviewed-on: https://review.whamcloud.com/39900
Reviewed-by: Amir Shehata <ashehata@whamcloud.com>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lnet/klnds/o2iblnd/o2iblnd_cb.c

index 70ec9e8..a7ededd 100644 (file)
@@ -2209,8 +2209,12 @@ kiblnd_peer_connect_failed(struct kib_peer_ni *peer_ni, int active,
        CNETERR("Deleting messages for %s: connection failed\n",
                libcfs_nid2str(peer_ni->ibp_nid));
 
        CNETERR("Deleting messages for %s: connection failed\n",
                libcfs_nid2str(peer_ni->ibp_nid));
 
-       kiblnd_txlist_done(&zombies, error,
-                          LNET_MSG_STATUS_LOCAL_DROPPED);
+       if (error == -EHOSTUNREACH || error == -ETIMEDOUT)
+               kiblnd_txlist_done(&zombies, error,
+                                  LNET_MSG_STATUS_NETWORK_TIMEOUT);
+       else
+               kiblnd_txlist_done(&zombies, error,
+                                  LNET_MSG_STATUS_LOCAL_DROPPED);
 }
 
 static void
 }
 
 static void