Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.2:Update
device-mapper
call_cpg_leave_before_shutdown.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File call_cpg_leave_before_shutdown.diff of Package device-mapper
Index: LVM2.2.02.45/daemons/clvmd/clvmd-openais.c =================================================================== --- LVM2.2.02.45.orig/daemons/clvmd/clvmd-openais.c +++ LVM2.2.02.45/daemons/clvmd/clvmd-openais.c @@ -345,7 +345,7 @@ static int _init_cluster(void) err = cpg_join(cpg_handle, &cpg_group_name); if (err != SA_AIS_OK) { cpg_finalize(cpg_handle); - dlm_release_lockspace(LOCKSPACE_NAME, lockspace, 0); + dlm_release_lockspace(LOCKSPACE_NAME, lockspace, 1); syslog(LOG_ERR, "Cannot join clvmd process group"); DEBUGLOG("Cannot join clvmd process group: %d\n", err); return ais_to_errno(err); @@ -354,8 +354,9 @@ static int _init_cluster(void) err = cpg_local_get(cpg_handle, &our_nodeid); if (err != SA_AIS_OK) { + cpg_leave(cpg_handle, &cpg_group_name); cpg_finalize(cpg_handle); - dlm_release_lockspace(LOCKSPACE_NAME, lockspace, 0); + dlm_release_lockspace(LOCKSPACE_NAME, lockspace, 1); syslog(LOG_ERR, "Cannot get local node id\n"); return ais_to_errno(err); } @@ -372,15 +373,11 @@ static void _cluster_closedown(void) unlock_all(); 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"); - } + r = dlm_release_lockspace(LOCKSPACE_NAME, lockspace, 1); + if (r != 0) { + syslog(LOG_ERR, "dlm_release_lockspace failed: %d\n", errno); } + cpg_leave(cpg_handle, &cpg_group_name); cpg_finalize(cpg_handle); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor