aboutsummaryrefslogtreecommitdiffstats
path: root/fs/dlm/lowcomms.c
diff options
context:
space:
mode:
authorPatrick Caulfeld <pcaulfie@redhat.com>2008-01-09 10:06:27 -0500
committerDavid Teigland <teigland@redhat.com>2008-01-29 18:17:32 -0500
commit39bd4177ddbeb4c86e854d3d5c4a6a26088e601e (patch)
tree80bebc23aac81cc56dbd33d81dcb9ffbbf2582dc /fs/dlm/lowcomms.c
parent52bda2b5bab87c388848bbc0f4d28d04858d5a7d (diff)
dlm: close othercons
This patch addresses a problem introduced with the last round of lowcomms patches where the 'othercon' connections do not get freed when the DLM shuts down. This results in the error message "slab error in kmem_cache_destroy(): cache `dlm_conn': Can't free all objects" and the DLM cannot be restarted without a system reboot. See bz#428119 Signed-off-by: Patrick Caulfield <pcaulfie@redhat.com> Signed-off-by: Fabio M. Di Nitto <fabbione@ubuntu.com> Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs/dlm/lowcomms.c')
-rw-r--r--fs/dlm/lowcomms.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
index 57728448f1b9..7c1e5e5cccd8 100644
--- a/fs/dlm/lowcomms.c
+++ b/fs/dlm/lowcomms.c
@@ -1437,6 +1437,8 @@ void dlm_lowcomms_stop(void)
1437 con = __nodeid2con(i, 0); 1437 con = __nodeid2con(i, 0);
1438 if (con) { 1438 if (con) {
1439 close_connection(con, true); 1439 close_connection(con, true);
1440 if (con->othercon)
1441 kmem_cache_free(con_cache, con->othercon);
1440 kmem_cache_free(con_cache, con); 1442 kmem_cache_free(con_cache, con);
1441 } 1443 }
1442 } 1444 }