summaryrefslogtreecommitdiffstats
path: root/daemons
diff options
context:
space:
mode:
authorChristine Caulfield <ccaulfie@redhat.com>2009-02-10 11:52:40 +0000
committerChristine Caulfield <ccaulfie@redhat.com>2009-02-10 11:52:40 +0000
commit2095de1af2b82009bf862cc8237ef6cbc66c60a0 (patch)
treedeb4ab63677e87b4a15db0e662c0c0ba0de94df8 /daemons
parentea0cdd28c1cdf282b535e059a2f94510c84387d9 (diff)
downloadlvm2-2095de1af2b82009bf862cc8237ef6cbc66c60a0.tar.gz
lvm2-2095de1af2b82009bf862cc8237ef6cbc66c60a0.tar.xz
lvm2-2095de1af2b82009bf862cc8237ef6cbc66c60a0.zip
Allow clvmd to start up if its lockspace already exists.
Diffstat (limited to 'daemons')
-rw-r--r--daemons/clvmd/clvmd-cman.c9
-rw-r--r--daemons/clvmd/clvmd-corosync.c11
2 files changed, 15 insertions, 5 deletions
diff --git a/daemons/clvmd/clvmd-cman.c b/daemons/clvmd/clvmd-cman.c
index b03f880d..a853b3bb 100644
--- a/daemons/clvmd/clvmd-cman.c
+++ b/daemons/clvmd/clvmd-cman.c
@@ -110,8 +110,13 @@ static int _init_cluster(void)
/* Create a lockspace for LV & VG locks to live in */
lockspace = dlm_create_lockspace(LOCKSPACE_NAME, 0600);
if (!lockspace) {
- syslog(LOG_ERR, "Unable to create lockspace for CLVM: %m");
- return -1;
+ if (errno == EEXIST) {
+ lockspace = dlm_open_lockspace(LOCKSPACE_NAME);
+ }
+ if (!lockspace) {
+ syslog(LOG_ERR, "Unable to create lockspace for CLVM: %m");
+ return -1;
+ }
}
dlm_ls_pthread_init(lockspace);
DEBUGLOG("DLM initialisation complete\n");
diff --git a/daemons/clvmd/clvmd-corosync.c b/daemons/clvmd/clvmd-corosync.c
index 61dfe4d3..5a2c137b 100644
--- a/daemons/clvmd/clvmd-corosync.c
+++ b/daemons/clvmd/clvmd-corosync.c
@@ -314,9 +314,14 @@ static int _init_cluster(void)
/* Create a lockspace for LV & VG locks to live in */
lockspace = dlm_create_lockspace(LOCKSPACE_NAME, 0600);
if (!lockspace) {
- syslog(LOG_ERR, "Unable to create lockspace for CLVM: %m");
- quorum_finalize(quorum_handle);
- return -1;
+ if (errno == EEXIST) {
+ lockspace = dlm_open_lockspace(LOCKSPACE_NAME);
+ }
+ if (!lockspace) {
+ syslog(LOG_ERR, "Unable to create lockspace for CLVM: %m");
+ quorum_finalize(quorum_handle);
+ return -1;
+ }
}
dlm_ls_pthread_init(lockspace);
DEBUGLOG("DLM initialisation complete\n");