Hello community,

here is the log from the commit of package corosync for openSUSE:Factory 
checked in at 2013-05-27 09:43:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/corosync (Old)
 and      /work/SRC/openSUSE:Factory/.corosync.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "corosync"

Changes:
--------
--- /work/SRC/openSUSE:Factory/corosync/corosync.changes        2013-04-26 
13:25:11.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.corosync.new/corosync.changes   2013-05-27 
09:43:40.000000000 +0200
@@ -1,0 +2,36 @@
+Fri May 10 13:18:25 UTC 2013 - [email protected]
+
+- Update to corosync 1.4.5 stable release (bnc#799031)
+- coroipc: Handle pfd.revents as bit-field
+- Check socket_recv error code in ipc_dispatch_get
+- On places with POLLERR check also POLLNVAL
+- coroipc: Don't spin when waiting on semaphore
+- log: Handle race in printf_to_logs and format_set
+- objdb: Don't read uninitialized memory in inc/dec
+- Add waiting_trans_ack also to fragmentation layer
+- Handle segfault in backlog_get
+- Fix problem with sync operations under very rare circumstances
+- manpages: Add confdb_key_get man page
+- manpages: Add links for referenced confdb calls
+- manpages: Fix typo in evs* manpages
+- If failed_to_recv is set, consensus can be empty
+- Ignore sync barrier msgs if sync doesn't started
+- Make service_build contain correct number of msgs
+- Handle sync and service unload correctly
+- Don't call sync_* funcs for unloaded services
+- Return back "Totem is unable to form..." message
+- Move "Totem is unable to form..." message to main
+- Use unix socket for local multicast loop
+- cpg: Enhance downlist selection algorithm
+- cpg: Process join list after downlists
+- cpg: Never choose downlist with localnode
+- Fix cpg_membership_get()
+- Don't access invalid mem in totemconfig
+- Move some totem and cpg messages to trace level
+- flatiron: Free outq items list on conn exit
+- Fix nodeid conflicting issue (bnc#806634)
+  + Added fix-nodeid-conflicting.patch
+- change the default priority to RR(1) same as pacemaker(bnc#804707)
+  + Added corosync_reduce_RR_priority.patch
+
+-------------------------------------------------------------------

Old:
----
  corosync-1.4.3.tar.gz

New:
----
  corosync-1.4.5.tar.gz
  corosync_reduce_RR_priority.patch
  fix-nodeid-conflicting.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ corosync.spec ++++++
--- /var/tmp/diff_new_pack.HgLFwW/_old  2013-05-27 09:43:41.000000000 +0200
+++ /var/tmp/diff_new_pack.HgLFwW/_new  2013-05-27 09:43:41.000000000 +0200
@@ -29,7 +29,7 @@
 Summary:        The Corosync Cluster Engine and Application Programming 
Interfaces
 License:        BSD-3-Clause
 Group:          Productivity/Clustering/HA
-Version:        1.4.3
+Version:        1.4.5
 Release:        0
 Url:            http://www.corosync.org
 Source0:        
http://build.clusterlabs.org/%{name}/releases/%{name}-%{version}.tar.gz
@@ -38,6 +38,8 @@
 Patch2:         corosync-revert-cs2429.patch
 Patch4:         corosync.conf.example.patch
 Patch5:         corosync-cpg-procdown.patch
+Patch6:         corosync_reduce_RR_priority.patch
+Patch7:         fix-nodeid-conflicting.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Runtime bits
 Requires:       libcorosync4 = %{version}-%{release}
@@ -65,6 +67,8 @@
 %patch2 -p1
 %patch4 -p1
 %patch5 -p1
+%patch6 -p1
+%patch7 -p1
 
 %build
 %if 0%{?buildtrunk} == 1
@@ -144,6 +148,7 @@
 %{_libexecdir}/lcrso/vsf_ykd.lcrso
 %dir %{_localstatedir}/lib/corosync
 %dir %{_localstatedir}/log/cluster
+%{_mandir}/man8/confdb_keys.8*
 %{_mandir}/man8/corosync_overview.8*
 %{_mandir}/man8/corosync.8*
 %{_mandir}/man8/corosync-blackbox.8*

++++++ corosync-1.4.3.tar.gz -> corosync-1.4.5.tar.gz ++++++
++++ 13421 lines of diff (skipped)

++++++ corosync_reduce_RR_priority.patch ++++++
Index: corosync-1.4.4/exec/main.c
===================================================================
--- corosync-1.4.4.orig/exec/main.c
+++ corosync-1.4.4/exec/main.c
@@ -1268,7 +1268,8 @@ static void corosync_setscheduler (void)
 #if defined(HAVE_PTHREAD_SETSCHEDPARAM) && 
defined(HAVE_SCHED_GET_PRIORITY_MAX) && defined(HAVE_SCHED_SETSCHEDULER)
        int res;
 
-       sched_priority = sched_get_priority_max (SCHED_RR);
+       /*use the minimal priority same as pacemaker */
+       sched_priority = sched_get_priority_min (SCHED_RR);
        if (sched_priority != -1) {
                global_sched_param.sched_priority = sched_priority;
                res = sched_setscheduler (0, SCHED_RR, &global_sched_param);
++++++ fix-nodeid-conflicting.patch ++++++
Index: corosync-1.4.5/conf/corosync.conf.example
===================================================================
--- corosync-1.4.5.orig/conf/corosync.conf.example
+++ corosync-1.4.5/conf/corosync.conf.example
@@ -41,7 +41,10 @@ totem {
        max_messages:   20
 
        # Limit generated nodeids to 31-bits (positive signed integers)
-       clear_node_high_bit: yes
+       # you would set it to 'yes', the new option 'new' means wiping 
+       # off the highest bit in network order to avoid possible nodeid
+       # conflicting.
+       clear_node_high_bit: new
 
        # secauth: Enable mutual node authentication. If you choose to
        # enable this ("on"), then do remember to create a shared
Index: corosync-1.4.5/exec/totemconfig.c
===================================================================
--- corosync-1.4.5.orig/exec/totemconfig.c
+++ corosync-1.4.5/exec/totemconfig.c
@@ -338,6 +338,9 @@ printf ("couldn't find totem handle\n");
                if (strcmp (str, "yes") == 0) {
                        totem_config->clear_node_high_bit = 1;
                }
+               if (strcmp (str, "new") == 0) {
+                       totem_config->clear_node_high_bit = 2;
+               }
        }
 
        objdb_get_int (objdb,object_totem_handle, "threads", 
&totem_config->threads);
Index: corosync-1.4.5/exec/totemip.c
===================================================================
--- corosync-1.4.5.orig/exec/totemip.c
+++ corosync-1.4.5/exec/totemip.c
@@ -626,10 +626,20 @@ int totemip_iface_check(struct totem_ip_
                                         */
                                        if (ipaddr.family == AF_INET && 
ipaddr.nodeid == 0) {
                                                unsigned int nodeid = 0;
+                                               unsigned int new_nodeid = 0;
                                                memcpy (&nodeid, ipaddr.addr, 
sizeof (int));
-                                               if (mask_high_bit) {
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+                                               new_nodeid = swab32 (nodeid);
+#else
+                                               new_nodeid = nodeid;
+#endif
+                                               if (mask_high_bit == 1) {
                                                        nodeid &= 0x7FFFFFFF;
                                                }
+                                               if (mask_high_bit == 2) {
+                                                       new_nodeid &= 
0x7FFFFFFF;
+                                                       nodeid = new_nodeid;
+                                               }
                                                ipaddr.nodeid = nodeid;
                                        }
                                        totemip_copy (boundto, &ipaddr);
Index: corosync-1.4.5/man/corosync.conf.5
===================================================================
--- corosync-1.4.5.orig/man/corosync.conf.5
+++ corosync-1.4.5/man/corosync.conf.5
@@ -175,7 +175,9 @@ This configuration option is optional an
 specified.  Some openais clients require a signed 32 bit nodeid that is greater
 than zero however by default openais uses all 32 bits of the IPv4 address space
 when generating a nodeid.  Set this option to yes to force the high bit to be
-zero and therefor ensure the nodeid is a positive signed 32 bit integer.
+zero and therefor ensure the nodeid is a positive signed 32 bit integer. Set
+this option to new to force the high bit in network order to be zero which 
+intends to avoid possible nodeid conflicting.
 
 WARNING: The clusters behavior is undefined if this option is enabled on only
 a subset of the cluster (for example during a rolling upgrade).
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to