From c21ba6e1800cdd8d22c745f83e39c2fbf8b4f43b Mon Sep 17 00:00:00 2001
From: isaac <isaac>
Date: Thu, 24 Jul 2008 02:33:28 +0000
Subject: [PATCH] i=liangzhen,i=maxim,b=16338: -   fixed a connection reference
 count leak.

---
 lnet/ChangeLog                | 7 +++++++
 lnet/klnds/viblnd/viblnd_cb.c | 1 +
 2 files changed, 8 insertions(+)

diff --git a/lnet/ChangeLog b/lnet/ChangeLog
index 7241c42fa6..1b1c10715c 100644
--- a/lnet/ChangeLog
+++ b/lnet/ChangeLog
@@ -17,6 +17,13 @@ Bugzilla   :
 Description: 
 Details    : 
 
+Severity   : major
+Bugzilla   : 16338
+Description: Continuous recovery on 33 of 413 nodes after lustre oss failure
+Details    : Lost reference on conn prevents peer from being destroyed, which
+             could prevent new peer creation if peer count has reached upper
+	     limit.
+
 Severity   : normal
 Bugzilla   : 16102
 Description: LNET Selftest results in Soft lockup on OSS CPU
diff --git a/lnet/klnds/viblnd/viblnd_cb.c b/lnet/klnds/viblnd/viblnd_cb.c
index 0c7e323cee..a9efca123d 100644
--- a/lnet/klnds/viblnd/viblnd_cb.c
+++ b/lnet/klnds/viblnd/viblnd_cb.c
@@ -2614,6 +2614,7 @@ kibnal_recv_connreq(cm_cep_handle_t *cep, cm_request_data_t *cmreq)
         if (conn != NULL) {
                 LASSERT (rc != 0);
                 kibnal_connreq_done(conn, 0, rc);
+                kibnal_conn_decref(conn);
         } else {
                 cm_destroy_cep(cep);
         }
-- 
GitLab