--- /dev/null
+From: Coly Li <coly.li@suse.de>
+Author: David Teigland <teigland@redhat.com>
+References: bnc#457213
+Subject: 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>
+Signed-off-by: Coly Li <coly.li@suse.de>
+---
+---
+ fs/dlm/lockspace.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/fs/dlm/lockspace.c
++++ b/fs/dlm/lockspace.c
+@@ -784,7 +784,7 @@ int dlm_release_lockspace(void *lockspac
+ error = release_lockspace(ls, force);
+ if (!error)
+ ls_count--;
+- else if (!ls_count)
++ if (!ls_count)
+ threads_stop();
+ mutex_unlock(&ls_lock);
+