From 1301d2fb2d8efc5e50e3d72387221e5040480805 Mon Sep 17 00:00:00 2001
From: eeb <eeb>
Date: Thu, 31 Mar 2005 10:33:38 +0000
Subject: [PATCH] *    Fix for 5998: LASSERT(kibnal_peer_active(peer))

---
 lnet/klnds/iiblnd/iiblnd_cb.c       | 6 +++---
 lnet/klnds/openiblnd/openiblnd_cb.c | 6 +++---
 lnet/klnds/viblnd/viblnd_cb.c       | 6 +++---
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/lnet/klnds/iiblnd/iiblnd_cb.c b/lnet/klnds/iiblnd/iiblnd_cb.c
index c3142a1de6..b9ca6778d7 100644
--- a/lnet/klnds/iiblnd/iiblnd_cb.c
+++ b/lnet/klnds/iiblnd/iiblnd_cb.c
@@ -1777,9 +1777,9 @@ kibnal_close_conn_locked (kib_conn_t *conn, int error)
                 atomic_inc (&conn->ibc_refcount);
         }
         
-        if (list_empty (&peer->ibp_conns) &&
-            peer->ibp_persistence == 0) {
-                /* Non-persistent peer with no more conns... */
+        if (list_empty (&peer->ibp_conns) &&    /* no more conns */
+            peer->ibp_persistence == 0 &&       /* non-persistent peer */
+            kibnal_peer_active(peer)) {         /* still in peer table */
                 kibnal_unlink_peer_locked (peer);
         }
 
diff --git a/lnet/klnds/openiblnd/openiblnd_cb.c b/lnet/klnds/openiblnd/openiblnd_cb.c
index c2929ba707..0f7a371320 100644
--- a/lnet/klnds/openiblnd/openiblnd_cb.c
+++ b/lnet/klnds/openiblnd/openiblnd_cb.c
@@ -1484,9 +1484,9 @@ kibnal_close_conn_locked (kib_conn_t *conn, int error)
                 atomic_inc (&conn->ibc_refcount);
         }
         
-        if (list_empty (&peer->ibp_conns) &&
-            peer->ibp_persistence == 0) {
-                /* Non-persistent peer with no more conns... */
+        if (list_empty (&peer->ibp_conns) &&    /* no more conns */
+            peer->ibp_persistence == 0 &&       /* non-persistent peer */
+            kibnal_peer_active(peer)) {         /* still in peer table */
                 kibnal_unlink_peer_locked (peer);
         }
 
diff --git a/lnet/klnds/viblnd/viblnd_cb.c b/lnet/klnds/viblnd/viblnd_cb.c
index c3f496ca6f..ba021bf58e 100644
--- a/lnet/klnds/viblnd/viblnd_cb.c
+++ b/lnet/klnds/viblnd/viblnd_cb.c
@@ -1772,9 +1772,9 @@ kibnal_close_conn_locked (kib_conn_t *conn, int error)
         /* connd takes ibc_list's ref */
         list_del (&conn->ibc_list);
         
-        if (list_empty (&peer->ibp_conns) &&
-            peer->ibp_persistence == 0) {
-                /* Non-persistent peer with no more conns... */
+        if (list_empty (&peer->ibp_conns) &&    /* no more conns */
+            peer->ibp_persistence == 0 &&       /* non-persistent peer */
+            kibnal_peer_active(peer)) {         /* still in peer table */
                 kibnal_unlink_peer_locked (peer);
         }
 
-- 
GitLab