Browse Source

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>
David Teigland 16 years ago
parent
commit
278afcbf4f
1 changed files with 1 additions and 1 deletions
  1. 1 1
      fs/dlm/lockspace.c

+ 1 - 1
fs/dlm/lockspace.c

@@ -812,7 +812,7 @@ int dlm_release_lockspace(void *lockspace, int force)
 	error = release_lockspace(ls, force);
 	error = release_lockspace(ls, force);
 	if (!error)
 	if (!error)
 		ls_count--;
 		ls_count--;
-	else if (!ls_count)
+	if (!ls_count)
 		threads_stop();
 		threads_stop();
 	mutex_unlock(&ls_lock);
 	mutex_unlock(&ls_lock);