From: eeb Date: Thu, 31 Mar 2005 10:33:38 +0000 (+0000) Subject: * Fix for 5998: LASSERT(kibnal_peer_active(peer)) X-Git-Tag: 1.3.4~8 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=1301d2fb2d8efc5e50e3d72387221e5040480805;p=fs%2Flustre-release.git * Fix for 5998: LASSERT(kibnal_peer_active(peer)) --- diff --git a/lnet/klnds/iiblnd/iiblnd_cb.c b/lnet/klnds/iiblnd/iiblnd_cb.c index c3142a1..b9ca677 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 c2929ba..0f7a371 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 c3f496c..ba021bf 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); }