File bug-486952_clvmd-check-returncode-of-dlmrelease.diff of Package lvm2-clvm.import5596
Index: LVM2.2.02.45/daemons/clvmd/clvmd-openais.c
================================================================================
--- LVM2.2.02.58/daemons/clvmd/clvmd-openais.c
+++ LVM2.2.02.58/daemons/clvmd/clvmd-openais.c
@@ -380,7 +380,16 @@
DEBUGLOG("cluster_closedown\n");
destroy_lvhash();
- dlm_release_lockspace(LOCKSPACE_NAME, lockspace, 0);
+ int r;
+ r = dlm_release_lockspace(LOCKSPACE_NAME, lockspace, 0);
+ if (r == -1) {
+ if (errno == EBUSY) {
+ syslog(LOG_ERR, "Some locks still active, close by force\n");
+ dlm_release_lockspace(LOCKSPACE_NAME, lockspace, 1);
+ } else {
+ syslog(LOG_ERR, "dlm_release_lockspace failed\n");
+ }
+ }
cpg_finalize(cpg_handle);
}