diff options
author | Patrick Caulfeld <pcaulfie@redhat.com> | 2008-01-09 10:06:27 -0500 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2008-01-29 18:17:32 -0500 |
commit | 39bd4177ddbeb4c86e854d3d5c4a6a26088e601e (patch) | |
tree | 80bebc23aac81cc56dbd33d81dcb9ffbbf2582dc | |
parent | 52bda2b5bab87c388848bbc0f4d28d04858d5a7d (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>
-rw-r--r-- | fs/dlm/lowcomms.c | 2 |
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 | } |