Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Please login to access the resource
home:hmzhao:branches:network:ha-clustering:Unstable
libdlm
0003-bnc#874705-nodes-without-quorum.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0003-bnc#874705-nodes-without-quorum.patch of Package libdlm
Index: libdlm-4.0.2/dlm_controld/cpg.c =================================================================== --- libdlm-4.0.2.orig/dlm_controld/cpg.c +++ libdlm-4.0.2/dlm_controld/cpg.c @@ -1261,6 +1261,19 @@ void process_lockspace_changes(void) poll_fs = 0; list_for_each_entry_safe(ls, safe, &lockspaces, list) { + if (ls->leaving && !(opt(enable_quorum_lockspace_ind) + && !cluster_quorate)) { + log_group(ls, "confchg for our leave"); + stop_kernel(ls, 0); + set_configfs_members(ls, ls->name, 0, NULL, 0, NULL); + set_sysfs_event_done(ls->name, 0); + cpg_finalize(ls->cpg_handle); + client_dead(ls->cpg_client); + purge_plocks(ls, our_nodeid, 1); + list_del(&ls->list); + free_ls(ls); + return; + } if (!list_empty(&ls->changes)) apply_changes(ls); } @@ -1414,7 +1427,10 @@ static void confchg_cb(cpg_handle_t hand return; } - if (ls->leaving && we_left(left_list, left_list_entries)) { + /*check currently if we have quorum in order to keep the + same behavior with other nodes*/ + if (ls->leaving && we_left(left_list, left_list_entries) + && !(opt(enable_quorum_lockspace_ind) && !cluster_quorate)) { /* we called cpg_leave(), and this should be the final cpg callback we receive */ log_group(ls, "confchg for our leave");
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