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);
 }
 
openSUSE Build Service is sponsored by