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 930989 Details for
Bug 1069254
corosync RFE: limit udpu messages to ring members only
[?]
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]
totemrrp: Implement *_membership_changed
tmp.5f2PGdAwY4 (text/plain), 5.97 KB, created by
Jan Friesse
on 2014-08-26 13:47:13 UTC
(
hide
)
Description:
totemrrp: Implement *_membership_changed
Filename:
MIME Type:
Creator:
Jan Friesse
Created:
2014-08-26 13:47:13 UTC
Size:
5.97 KB
patch
obsolete
>From 371a99e96147f600510bd9d819b92a4de94fcc30 Mon Sep 17 00:00:00 2001 >From: Jan Friesse <jfriesse@redhat.com> >Date: Wed, 13 Aug 2014 16:01:33 +0200 >Subject: [PATCH] totemrrp: Implement *_membership_changed > >All *_membership_changed calls totemnet_member_set_active passing 1 as >active parameter for joined nodes and 0 for left nodes. > >Signed-off-by: Jan Friesse <jfriesse@redhat.com> >Reviewed-by: Christine Caulfield <ccaulfie@redhat.com> >--- > exec/totemrrp.c | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++---- > 1 files changed, 89 insertions(+), 7 deletions(-) > >diff --git a/exec/totemrrp.c b/exec/totemrrp.c >index 7e70dd6..95a789e 100644 >--- a/exec/totemrrp.c >+++ b/exec/totemrrp.c >@@ -815,14 +815,38 @@ static int none_member_remove ( > } > > static void none_membership_changed ( >- struct totemrrp_instance *instance, >- enum totem_configuration_type configuration_type, >+ struct totemrrp_instance *rrp_instance, >+ enum totem_configuration_type configuration_type, > const struct srp_addr *member_list, size_t member_list_entries, > const struct srp_addr *left_list, size_t left_list_entries, > const struct srp_addr *joined_list, size_t joined_list_entries, > const struct memb_ring_id *ring_id) > { >+ int i; > >+ for (i = 0; i < left_list_entries; i++) { >+ if (left_list->no_addrs < 1 || >+ (left_list[i].addr[0].family != AF_INET && left_list[i].addr[0].family != AF_INET6)) { >+ log_printf(rrp_instance->totemrrp_log_level_error, >+ "Membership left list contains incorrect address. " >+ "This is sign of misconfiguration between nodes!"); >+ } else { >+ totemnet_member_set_active(rrp_instance->net_handles[0], >+ &left_list[i].addr[0], 0); >+ } >+ } >+ >+ for (i = 0; i < joined_list_entries; i++) { >+ if (joined_list->no_addrs < 1 || >+ (joined_list[i].addr[0].family != AF_INET && joined_list[i].addr[0].family != AF_INET6)) { >+ log_printf(rrp_instance->totemrrp_log_level_error, >+ "Membership join list contains incorrect address. " >+ "This is sign of misconfiguration between nodes!"); >+ } else { >+ totemnet_member_set_active(rrp_instance->net_handles[0], >+ &joined_list[i].addr[0], 1); >+ } >+ } > } > > /* >@@ -1267,14 +1291,43 @@ static int passive_member_remove ( > } > > static void passive_membership_changed ( >- struct totemrrp_instance *instance, >- enum totem_configuration_type configuration_type, >+ struct totemrrp_instance *rrp_instance, >+ enum totem_configuration_type configuration_type, > const struct srp_addr *member_list, size_t member_list_entries, > const struct srp_addr *left_list, size_t left_list_entries, > const struct srp_addr *joined_list, size_t joined_list_entries, > const struct memb_ring_id *ring_id) > { >+ int i; >+ int interface; >+ >+ for (interface = 0; interface < rrp_instance->interface_count; interface++) { >+ for (i = 0; i < left_list_entries; i++) { >+ if (left_list->no_addrs < interface + 1 || >+ (left_list[i].addr[interface].family != AF_INET && >+ left_list[i].addr[interface].family != AF_INET6)) { >+ log_printf(rrp_instance->totemrrp_log_level_error, >+ "Membership left list contains incorrect address. " >+ "This is sign of misconfiguration between nodes!"); >+ } else { >+ totemnet_member_set_active(rrp_instance->net_handles[interface], >+ &left_list[i].addr[interface], 0); >+ } >+ } > >+ for (i = 0; i < joined_list_entries; i++) { >+ if (joined_list->no_addrs < interface + 1 || >+ (joined_list[i].addr[interface].family != AF_INET && >+ joined_list[i].addr[interface].family != AF_INET6)) { >+ log_printf(rrp_instance->totemrrp_log_level_error, >+ "Membership join list contains incorrect address. " >+ "This is sign of misconfiguration between nodes!"); >+ } else { >+ totemnet_member_set_active(rrp_instance->net_handles[interface], >+ &joined_list[i].addr[interface], 1); >+ } >+ } >+ } > } > > static void passive_ring_reenable ( >@@ -1649,14 +1702,43 @@ static int active_member_remove ( > } > > static void active_membership_changed ( >- struct totemrrp_instance *instance, >- enum totem_configuration_type configuration_type, >+ struct totemrrp_instance *rrp_instance, >+ enum totem_configuration_type configuration_type, > const struct srp_addr *member_list, size_t member_list_entries, > const struct srp_addr *left_list, size_t left_list_entries, > const struct srp_addr *joined_list, size_t joined_list_entries, > const struct memb_ring_id *ring_id) > { >+ int i; >+ int interface; >+ >+ for (interface = 0; interface < rrp_instance->interface_count; interface++) { >+ for (i = 0; i < left_list_entries; i++) { >+ if (left_list->no_addrs < interface + 1 || >+ (left_list[i].addr[interface].family != AF_INET && >+ left_list[i].addr[interface].family != AF_INET6)) { >+ log_printf(rrp_instance->totemrrp_log_level_error, >+ "Membership left list contains incorrect address. " >+ "This is sign of misconfiguration between nodes!"); >+ } else { >+ totemnet_member_set_active(rrp_instance->net_handles[interface], >+ &left_list[i].addr[interface], 0); >+ } >+ } > >+ for (i = 0; i < joined_list_entries; i++) { >+ if (joined_list->no_addrs < interface + 1 || >+ (joined_list[i].addr[interface].family != AF_INET && >+ joined_list[i].addr[interface].family != AF_INET6)) { >+ log_printf(rrp_instance->totemrrp_log_level_error, >+ "Membership join list contains incorrect address. " >+ "This is sign of misconfiguration between nodes!"); >+ } else { >+ totemnet_member_set_active(rrp_instance->net_handles[interface], >+ &joined_list[i].addr[interface], 1); >+ } >+ } >+ } > } > > static void active_iface_check (struct totemrrp_instance *instance) >@@ -2227,7 +2309,7 @@ int totemrrp_member_remove ( > > void totemrrp_membership_changed ( > void *rrp_context, >- enum totem_configuration_type configuration_type, >+ enum totem_configuration_type configuration_type, > const struct srp_addr *member_list, size_t member_list_entries, > const struct srp_addr *left_list, size_t left_list_entries, > const struct srp_addr *joined_list, size_t joined_list_entries, >-- >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 1069254
:
930986
|
930987
| 930989 |
930998
|
931001