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 879815 Details for
Bug 1080102
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]
6.4.z-bz1080102-1-cpg-Refactor-mh_req_exec_cpg_procleave
bz1080102-1-cpg-Refactor-mh_req_exec_cpg_procleave.patch (text/plain), 3.09 KB, created by
Jan Friesse
on 2014-03-28 12:34:03 UTC
(
hide
)
Description:
6.4.z-bz1080102-1-cpg-Refactor-mh_req_exec_cpg_procleave
Filename:
MIME Type:
Creator:
Jan Friesse
Created:
2014-03-28 12:34:03 UTC
Size:
3.09 KB
patch
obsolete
>From e9d9c4be7293c04ca97bfd84f95b76a22690a92a Mon Sep 17 00:00:00 2001 >From: Jan Friesse <jfriesse@redhat.com> >Date: Wed, 19 Feb 2014 12:23:16 +0100 >Subject: [PATCH] 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> >Reviewed-by: Christine Caulfield <ccaulfie@redhat.com> >(backport from needle) >--- > services/cpg.c | 67 ++++++++++++++++++++++++++++++++++++------------------- > 1 files changed, 44 insertions(+), 23 deletions(-) > >diff --git a/services/cpg.c b/services/cpg.c >index 7ea06c1..c558c8b 100644 >--- a/services/cpg.c >+++ b/services/cpg.c >@@ -288,6 +288,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, >@@ -1155,6 +1161,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) >@@ -1229,31 +1266,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\n", 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 1080102
: 879815 |
879816
|
879817