Hello community,

here is the log from the commit of package corosync for openSUSE:Factory 
checked in at 2017-06-17 10:19:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/corosync (Old)
 and      /work/SRC/openSUSE:Factory/.corosync.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "corosync"

Sat Jun 17 10:19:57 2017 rev:38 rq:501564 version:2.4.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/corosync/corosync.changes        2017-05-18 
20:44:47.453144630 +0200
+++ /work/SRC/openSUSE:Factory/.corosync.new/corosync.changes   2017-06-17 
10:19:59.033188730 +0200
@@ -1,0 +2,15 @@
+Wed Jun  7 06:06:38 UTC 2017 - [email protected]
+
+-  some Fixes from upstream(bsc#1043045)
+Added: 
+    0004-main-Display-reason-why-cluster-cannot-be-formed.patch
+    0005-votequorum-Report-errors-from-votequorum_exec_send_r.patch
+    0006-coroapi-Use-size_t-for-private_data_size.patch
+
+-------------------------------------------------------------------
+Tue Jun  6 16:57:05 UTC 2017 - [email protected]
+[patch-lost-in-sle] Missing issues in openSUSE:Factory/corosync(bsc#1041587)
+   add change log for upgrading corosync to v2.3.6 and make this change log 
contain all records in SLE12 SP3
+   make the format consistent
+
+-------------------------------------------------------------------
@@ -5 +20,2 @@
-   Added: 0003-totemrrp-Fix-situation-when-all-rings-are-faulty.patch
+Added: 
+    0003-totemrrp-Fix-situation-when-all-rings-are-faulty.patch
@@ -11 +27,2 @@
-   Added: 0002-Main-call-mlock-after-fork.patch
+Added: 
+    0002-Main-call-mlock-after-fork.patch
@@ -17,2 +34,5 @@
-   Added:0001-totemconfig.c-Fixed-Evicted-from-CPG-membership.patch
-   removed: 0001-totemip.c-Fixed-Evicted-from-CPG-membership.patch
+Added:
+    0001-totemconfig.c-Fixed-Evicted-from-CPG-membership.patch
+
+Removed: 
+    0001-totemip.c-Fixed-Evicted-from-CPG-membership.patch
@@ -24 +44 @@
-  added:
+Added:
@@ -32 +52,3 @@
-   added: disable-build-html-docs.patch
+Added: 
+   disable-build-html-docs.patch
+   
@@ -43,2 +65,10 @@
-  added: corosync-start-stop-level.patch
-  deleted: corosync-cts-api-error.patch
+Added: 
+    corosync-start-stop-level.patch
+
+Deleted: 
+    Config-Flag-config-uidgid-entries.patch
+    cfg-Prevents-use-of-uninitialized-buffer.patch
+    cts-Make-it-run-with-pacemaker-1.13.patch
+    get_cluster_mcast_addr-error-is-not-fatal.patch
+    totemsrp-Addition-of-the-log.patch
+
@@ -55,0 +86,2 @@
+-------------------------------------------------------------------
+Thu Oct 15 05:19:36 UTC 2016 - [email protected]
@@ -57,18 +89,61 @@
-  corosync-v2.3.6
-    CFG: Prevent CFG orignating messages during SYNC
-    wd: fix setting of watchdog timeouts
-    votequorum: Don't send multiple callbacks when nodes join
-    cfgtool: Display nodeid as unsigned int
-    quorum: Display node id as unsigned int.
-    Check for fdatasync
-    Fix detection of qb_log_thread_priority_set
-    totempg: Fix memory leak
-    cpg: Memory not unmapped in cpg_zcb_free
-    cpg: Handle ipc error in cpg_zcb_alloc/free
-    totemconfig: Explicitly pass IP version
-    parser: Make config file parser more hierarchy
-    logsys: fix TOTEM logging when corosync built out of tree
-    wd: make watchdog device configurable
-    schedwrk: Cleanup and make it work on PPC BE
-    Reapply config defaults corosync.conf reload
-    logconfig: Fix logging reload disabling logfiles
+upgrade corosync-v2.3.5 to corosync-v2.3.6, and backport patches from 
v2.4.2(FATE#322113, bsc#1020550)
+Added:
+    Config-Flag-config-uidgid-entries.patch
+    cfg-Prevents-use-of-uninitialized-buffer.patch
+    cts-Make-it-run-with-pacemaker-1.13.patch
+    get_cluster_mcast_addr-error-is-not-fatal.patch
+    totemsrp-Addition-of-the-log.patch
+
+Removed:
+    corosync-cts-api-error.patch
+
+v2.3.6
+- logconfig: Fix logging reload disabling logfiles
+- wd: Warn if values are out of range
+- parser: WD Read type correctly from corosync.conf
+- Add some more RO keys
+- Reapply config defaults corosync.conf reload
+- schedwrk: Cleanup and make it work on PPC BE
+- cmapctl: Handle corosync errors in print_key func
+- Adds doxygen stubs to include directory
+- Add clang-format configuration file
+- wd: make watchdog device configurable
+- logging: Use our own version of basename
+- logsys: fix TOTEM logging when corosync built out of tree
+- parser: Make config file parser more hierarchy
+- totemconfig: Explicitly pass IP version
+- cpg: Handle ipc error in cpg_zcb_alloc/free
+- cpg: Memory not unmapped in cpg_zcb_free
+- totempg: Fix memory leak
+- Fix spelling errors
+- Add section in manual title for cpg_zcb_free 3
+- Add section in manual title for cpg_zcb_alloc 3
+- Update corosync.spec source link
+- Update gitignore files
+- Remove all links to old ML
+- totemsrp: Fix clang warning (tautological compare)
+- configure.ac: Make location of .pc overrideable
+- Remove a few unused variables and functions
+- configure.ac: We don't need no C++ compiler
+- configure.ac: Remove deprecated AC_PROG_LIBTOOL
+- configure.ac: make foreign apply to all Makefiles
+- Remove unused, obsolete check 
+- Fix detection of qb_log_thread_priority_set
+- cpghum: Fix type of recv_crc
+- Check for fdatasync
+- Fix detection of warning flags for clang
+- quorum: Display node id as unsigned int.
+- cts: InitClusterManager is now BootCluster
+- totemudp: Move udp bind() so that multicast works with IPv6
+- cfgtool: Display nodeid as unsigned int
+- votequorum: Don't send multiple callbacks when nodes join
+- man: Add synopsis for cpg_zcb_alloc and free
+- man html index: Update index
+- votequorum: Make sure cs_error_t is defined
+- Doxygen fix for cmap_iter_next()
+- configure: Correct help entry for logdir
+- totmesrp: Fix typo in log message
+- configure: typo in include
+- man page: Correct option letter for DBus
+- wd: fix setting of watchdog timeouts
+- CFG: Prevent CFG orignating messages during SYNC

New:
----
  0004-main-Display-reason-why-cluster-cannot-be-formed.patch
  0005-votequorum-Report-errors-from-votequorum_exec_send_r.patch
  0006-coroapi-Use-size_t-for-private_data_size.patch

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

Other differences:
------------------
++++++ corosync.spec ++++++
--- /var/tmp/diff_new_pack.25Lv3O/_old  2017-06-17 10:19:59.813078717 +0200
+++ /var/tmp/diff_new_pack.25Lv3O/_new  2017-06-17 10:19:59.817078153 +0200
@@ -65,6 +65,9 @@
 Patch11:        0001-totemconfig.c-Fixed-Evicted-from-CPG-membership.patch
 Patch12:        0002-Main-call-mlock-after-fork.patch
 Patch13:        0003-totemrrp-Fix-situation-when-all-rings-are-faulty.patch
+Patch14:        0004-main-Display-reason-why-cluster-cannot-be-formed.patch
+Patch15:        0005-votequorum-Report-errors-from-votequorum_exec_send_r.patch
+Patch16:        0006-coroapi-Use-size_t-for-private_data_size.patch
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # openais is indeed gone and should be uninstalled. Yes, we do not
@@ -137,6 +140,9 @@
 %patch11 -p1
 %patch12 -p1
 %patch13 -p1
+%patch14 -p1
+%patch15 -p1
+%patch16 -p1
 
 %build
 %if %{with_runautogen}

++++++ 0004-main-Display-reason-why-cluster-cannot-be-formed.patch ++++++
>From 9f5fde414d114e02e686f59f40e5080fedc70224 Mon Sep 17 00:00:00 2001
From: Bin Liu <[email protected]>
Date: Wed, 7 Jun 2017 13:29:14 +0800
Subject: [PATCH] main: Display reason why cluster cannot be formed

---
 exec/main.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/exec/main.c b/exec/main.c
index 7d2dcf7c..da9e1ecd 100644
--- a/exec/main.c
+++ b/exec/main.c
@@ -497,6 +497,7 @@ static void corosync_totem_stats_updater (void *data)
        uint32_t total_token_holdtime;
        int t, prev, i;
        int32_t token_count;
+       const char *cstr;
        char key_name[ICMAP_KEYNAME_MAXLEN];
 
        stats = api->totem_get_stats();
@@ -535,11 +536,18 @@ static void corosync_totem_stats_updater (void *data)
 
        if (stats->mrp->srp->continuous_gather > MAX_NO_CONT_GATHER ||
            stats->mrp->srp->continuous_sendmsg_failures > 
MAX_NO_CONT_SENDMSG_FAILURES) {
+               cstr = "";
+               if (stats->mrp->srp->continuous_sendmsg_failures > 
MAX_NO_CONT_SENDMSG_FAILURES) {
+                       cstr = "number of multicast sendmsg failures is above 
threshold";
+               }
+               if (stats->mrp->srp->continuous_gather > MAX_NO_CONT_GATHER) {
+                       cstr = "totem is continuously in gather state";
+               }
                log_printf (LOGSYS_LEVEL_WARNING,
                        "Totem is unable to form a cluster because of an "
-                       "operating system or network fault. The most common "
+                       "operating system or network fault(reason: %s). The 
most common "
                        "cause of this message is that the local firewall is "
-                       "configured improperly.");
+                       "configured improperly.", cstr);
                
icmap_set_uint8("runtime.totem.pg.mrp.srp.firewall_enabled_or_nic_failure", 1);
        } else {
                
icmap_set_uint8("runtime.totem.pg.mrp.srp.firewall_enabled_or_nic_failure", 0);
-- 
2.12.0

++++++ 0005-votequorum-Report-errors-from-votequorum_exec_send_r.patch ++++++
>From c1d0a5fe6380b007dd31f85a07b4aaca57eb14a2 Mon Sep 17 00:00:00 2001
From: Bin Liu <[email protected]>
Date: Wed, 7 Jun 2017 13:46:25 +0800
Subject: [PATCH] votequorum: Report errors from
 votequorum_exec_send_reconfigure

If votequorum_exec_send_reconfigure() returns an error (ie the
packet could not be sent) then we should either return it to the
sender (for a library call) or, for an internal call, log it.
---
 exec/votequorum.c | 30 ++++++++++++++++++++----------
 1 file changed, 20 insertions(+), 10 deletions(-)

diff --git a/exec/votequorum.c b/exec/votequorum.c
index d29a717f..e85c07d3 100644
--- a/exec/votequorum.c
+++ b/exec/votequorum.c
@@ -1559,8 +1559,10 @@ static void votequorum_refresh_config(
        if (strcmp(key_name, "quorum.cancel_wait_for_all") == 0 &&
            cancel_wfa >= 1) {
                icmap_set_uint8("quorum.cancel_wait_for_all", 0);
-               
votequorum_exec_send_reconfigure(VOTEQUORUM_RECONFIG_PARAM_CANCEL_WFA,
-                                                us->node_id, 0);
+               if 
(votequorum_exec_send_reconfigure(VOTEQUORUM_RECONFIG_PARAM_CANCEL_WFA,
+                                                    us->node_id, 0)) {
+                       log_printf(LOGSYS_LEVEL_ERROR, "Failed to send Cancel 
WFA message to other nodes");
+               }
                return;
        }
 
@@ -1578,12 +1580,16 @@ static void votequorum_refresh_config(
        votequorum_exec_send_nodeinfo(us->node_id);
        votequorum_exec_send_nodeinfo(VOTEQUORUM_QDEVICE_NODEID);
        if (us->votes != old_votes) {
-               
votequorum_exec_send_reconfigure(VOTEQUORUM_RECONFIG_PARAM_NODE_VOTES,
-                                                us->node_id, us->votes);
+               
if(votequorum_exec_send_reconfigure(VOTEQUORUM_RECONFIG_PARAM_NODE_VOTES,
+                                                   us->node_id, us->votes)) {
+                       log_printf(LOGSYS_LEVEL_ERROR, "Failed to send new 
votes message to other nodes");
+               }
        }
        if (us->expected_votes != old_expected_votes) {
-               
votequorum_exec_send_reconfigure(VOTEQUORUM_RECONFIG_PARAM_EXPECTED_VOTES,
-                                                us->node_id, 
us->expected_votes);
+               
if(votequorum_exec_send_reconfigure(VOTEQUORUM_RECONFIG_PARAM_EXPECTED_VOTES,
+                                                us->node_id, 
us->expected_votes)) {
+                       log_printf(LOGSYS_LEVEL_ERROR, "Failed to send new 
votes message to other nodes");
+               }
        }
 
        LEAVE();
@@ -2610,8 +2616,10 @@ static void 
message_handler_req_lib_votequorum_setexpected (void *conn, const vo
                goto error_exit;
        }
 
-       
votequorum_exec_send_reconfigure(VOTEQUORUM_RECONFIG_PARAM_EXPECTED_VOTES, 
us->node_id,
-                                        
req_lib_votequorum_setexpected->expected_votes);
+       
if(votequorum_exec_send_reconfigure(VOTEQUORUM_RECONFIG_PARAM_EXPECTED_VOTES, 
us->node_id,
+                                        
req_lib_votequorum_setexpected->expected_votes)) {
+               error = CS_ERR_NO_RESOURCES;
+       }
 
 error_exit:
        res_lib_votequorum_status.header.size = 
sizeof(res_lib_votequorum_status);
@@ -2657,8 +2665,10 @@ static void message_handler_req_lib_votequorum_setvotes 
(void *conn, const void
                goto error_exit;
        }
 
-       votequorum_exec_send_reconfigure(VOTEQUORUM_RECONFIG_PARAM_NODE_VOTES, 
nodeid,
-                                        req_lib_votequorum_setvotes->votes);
+       
if(votequorum_exec_send_reconfigure(VOTEQUORUM_RECONFIG_PARAM_NODE_VOTES, 
nodeid,
+                                        req_lib_votequorum_setvotes->votes)) {
+               error = CS_ERR_NO_RESOURCES;
+       }
 
 error_exit:
        res_lib_votequorum_status.header.size = 
sizeof(res_lib_votequorum_status);
-- 
2.12.0

++++++ 0006-coroapi-Use-size_t-for-private_data_size.patch ++++++
>From afd97d788494007462b95a237161310af4c6e233 Mon Sep 17 00:00:00 2001
From: Michael Jones <[email protected]>
Date: Thu, 25 May 2017 13:29:19 -0500
Subject: [PATCH 6/6] coroapi: Use size_t for private_data_size

Unsigned int and size_t represent two different concepts.

Same problem was present in ipc_glue.

Signed-off-by: Michael Jones <[email protected]>
Reviewed-by: Jan Friesse <[email protected]>
---
 exec/ipc_glue.c            | 2 +-
 include/corosync/coroapi.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/exec/ipc_glue.c b/exec/ipc_glue.c
index d0a25d98..8b34d495 100644
--- a/exec/ipc_glue.c
+++ b/exec/ipc_glue.c
@@ -272,7 +272,7 @@ static void cs_ipcs_connection_created(qb_ipcs_connection_t 
*c)
        struct cs_ipcs_conn_context *context;
        char proc_name[32];
        struct qb_ipcs_connection_stats stats;
-       int32_t size = sizeof(struct cs_ipcs_conn_context);
+       size_t size = sizeof(struct cs_ipcs_conn_context);
        char key_name[ICMAP_KEYNAME_MAXLEN];
        int set_client_pid = 0;
        int set_proc_name = 0;
diff --git a/include/corosync/coroapi.h b/include/corosync/coroapi.h
index ff02a54f..3a36f255 100644
--- a/include/corosync/coroapi.h
+++ b/include/corosync/coroapi.h
@@ -494,7 +494,7 @@ struct corosync_service_engine {
        unsigned short priority; /* Lower priority are loaded first, unloaded 
last.
                                  * 0 is a special case which always loaded 
_and_ unloaded last
                                  */
-       unsigned int private_data_size;
+       size_t private_data_size;
        enum cs_lib_flow_control flow_control;
        enum cs_lib_allow_inquorate allow_inquorate;
        char *(*exec_init_fn) (struct corosync_api_v1 *);
-- 
2.12.0


Reply via email to