Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 865089 Details for
Bug 1067028
CPG membership may be inconsistent after node pause
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
Proposed patch - part 1 - cpg: Refactor mh_req_exec_cpg_procleave
2014-02-19-0001-cpg-Refactor-mh_req_exec_cpg_procleave.patch (text/plain), 3.00 KB, created by
Jan Friesse
on 2014-02-19 14:27:10 UTC
(
hide
)
Description:
Proposed patch - part 1 - cpg: Refactor mh_req_exec_cpg_procleave
Filename:
MIME Type:
Creator:
Jan Friesse
Created:
2014-02-19 14:27:10 UTC
Size:
3.00 KB
patch
obsolete
>From 486d6ce58a8735c99fed737c3745e880f627155c Mon Sep 17 00:00:00 2001 >From: Jan Friesse <jfriesse@redhat.com> >Date: Tue, 11 Feb 2014 15:27:31 +0100 >Subject: [PATCH 1/3] cpg: Refactor mh_req_exec_cpg_procleave > >Most of functionality is moved to do_proc_leave function to make it >reusable. > >Signed-off-by: Jan Friesse <jfriesse@redhat.com> >--- > exec/cpg.c | 67 +++++++++++++++++++++++++++++++++++++++-------------------- > 1 files changed, 44 insertions(+), 23 deletions(-) > >diff --git a/exec/cpg.c b/exec/cpg.c >index bc5feb6..9981440 100644 >--- a/exec/cpg.c >+++ b/exec/cpg.c >@@ -313,6 +313,12 @@ static void do_proc_join( > unsigned int nodeid, > int reason); > >+static void do_proc_leave( >+ const mar_cpg_name_t *name, >+ uint32_t pid, >+ unsigned int nodeid, >+ int reason); >+ > static int notify_lib_totem_membership ( > void *conn, > int member_list_entries, >@@ -1195,6 +1201,37 @@ static void do_proc_join( > MESSAGE_RES_CPG_CONFCHG_CALLBACK); > } > >+static void do_proc_leave( >+ const mar_cpg_name_t *name, >+ uint32_t pid, >+ unsigned int nodeid, >+ int reason) >+{ >+ struct process_info *pi; >+ struct list_head *iter; >+ mar_cpg_address_t notify_info; >+ >+ notify_info.pid = pid; >+ notify_info.nodeid = nodeid; >+ notify_info.reason = reason; >+ >+ notify_lib_joinlist(name, NULL, >+ 0, NULL, >+ 1, ¬ify_info, >+ MESSAGE_RES_CPG_CONFCHG_CALLBACK); >+ >+ for (iter = process_info_list_head.next; iter != &process_info_list_head; ) { >+ pi = list_entry(iter, struct process_info, list); >+ iter = iter->next; >+ >+ if (pi->pid == pid && pi->nodeid == nodeid && >+ mar_name_compare (&pi->group, name)==0) { >+ list_del (&pi->list); >+ free (pi); >+ } >+ } >+} >+ > static void message_handler_req_exec_cpg_downlist_old ( > const void *message, > unsigned int nodeid) >@@ -1269,31 +1306,15 @@ static void message_handler_req_exec_cpg_procleave ( > unsigned int nodeid) > { > const struct req_exec_cpg_procjoin *req_exec_cpg_procjoin = message; >- struct process_info *pi; >- struct list_head *iter; >- mar_cpg_address_t notify_info; >- >- log_printf(LOGSYS_LEVEL_DEBUG, "got procleave message from cluster node %d", nodeid); >- >- notify_info.pid = req_exec_cpg_procjoin->pid; >- notify_info.nodeid = nodeid; >- notify_info.reason = req_exec_cpg_procjoin->reason; >- >- notify_lib_joinlist(&req_exec_cpg_procjoin->group_name, NULL, >- 0, NULL, >- 1, ¬ify_info, >- MESSAGE_RES_CPG_CONFCHG_CALLBACK); > >- for (iter = process_info_list_head.next; iter != &process_info_list_head; ) { >- pi = list_entry(iter, struct process_info, list); >- iter = iter->next; >+ log_printf(LOGSYS_LEVEL_DEBUG, "got procleave message from cluster node %x (%s) for pid %u", >+ nodeid, >+ api->totem_ifaces_print(nodeid), >+ (unsigned int)req_exec_cpg_procjoin->pid); > >- if (pi->pid == req_exec_cpg_procjoin->pid && pi->nodeid == nodeid && >- mar_name_compare (&pi->group, &req_exec_cpg_procjoin->group_name)==0) { >- list_del (&pi->list); >- free (pi); >- } >- } >+ do_proc_leave (&req_exec_cpg_procjoin->group_name, >+ req_exec_cpg_procjoin->pid, nodeid, >+ req_exec_cpg_procjoin->reason); > } > > >-- >1.7.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 1067028
: 865089 |
865090
|
865091