diff options
| author | David Teigland <teigland@redhat.com> | 2008-11-13 14:22:34 -0500 |
|---|---|---|
| committer | David Teigland <teigland@redhat.com> | 2008-11-13 14:22:34 -0500 |
| commit | 278afcbf4fe964230eba67f8fb8235e8b7e63ffb (patch) | |
| tree | 64bcfe585256f96f468e29af9961ddf4c2dcc71d | |
| parent | 3edac25f2e8ac8c2a84904c140e1aeb434e73e75 (diff) | |
dlm: fix shutdown cleanup
Fixes a regression from commit 0f8e0d9a317406612700426fad3efab0b7bbc467,
"dlm: allow multiple lockspace creates".
An extraneous 'else' slipped into a code fragment being moved from
release_lockspace() to dlm_release_lockspace(). The result of the
unwanted 'else' is that dlm threads and structures are not stopped
and cleaned up when the final dlm lockspace is removed. Trying to
create a new lockspace again afterward will fail with
"kmem_cache_create: duplicate cache dlm_conn" because the cache
was not previously destroyed.
Signed-off-by: David Teigland <teigland@redhat.com>
| -rw-r--r-- | fs/dlm/lockspace.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/dlm/lockspace.c b/fs/dlm/lockspace.c index d910501de6d2..8d86b7960f0d 100644 --- a/fs/dlm/lockspace.c +++ b/fs/dlm/lockspace.c | |||
| @@ -812,7 +812,7 @@ int dlm_release_lockspace(void *lockspace, int force) | |||
| 812 | error = release_lockspace(ls, force); | 812 | error = release_lockspace(ls, force); |
| 813 | if (!error) | 813 | if (!error) |
| 814 | ls_count--; | 814 | ls_count--; |
| 815 | else if (!ls_count) | 815 | if (!ls_count) |
| 816 | threads_stop(); | 816 | threads_stop(); |
| 817 | mutex_unlock(&ls_lock); | 817 | mutex_unlock(&ls_lock); |
| 818 | 818 | ||
