diff --git a/Use-knet-TRACE-logging-level-if-available.patch b/Use-knet-TRACE-logging-level-if-available.patch new file mode 100644 index 0000000..0e5bc1d --- /dev/null +++ b/Use-knet-TRACE-logging-level-if-available.patch @@ -0,0 +1,60 @@ +From ba50e6629471b32d3a39bd145d3b9f485bf5f7f1 Mon Sep 17 00:00:00 2001 +From: Christine Caulfield +Date: Wed, 29 Mar 2023 14:53:17 +0100 +Subject: [PATCH] knet: use knet TRACE logging level if available + +--- + exec/totemknet.c | 20 +++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/exec/totemknet.c b/exec/totemknet.c +index e02092c32..55905ee5d 100644 +--- a/exec/totemknet.c ++++ b/exec/totemknet.c +@@ -769,6 +769,13 @@ static int log_deliver_fn ( + knet_log_get_subsystem_name(msg->subsystem), + msg->msg); + break; ++#ifdef KNET_LOG_TRACE ++ case KNET_LOG_TRACE: ++ libknet_log_printf (LOGSYS_LEVEL_TRACE, "%s: %s", ++ knet_log_get_subsystem_name(msg->subsystem), ++ msg->msg); ++ break; ++#endif + } + bufptr += sizeof(struct knet_log_msg); + done += sizeof(struct knet_log_msg); +@@ -890,6 +897,7 @@ void totemknet_configure_log_level() + int logsys_log_mode; + int knet_log_mode = KNET_LOG_INFO; + uint8_t s; ++ int err; + + if (!global_instance || !global_instance->knet_handle) { + return; +@@ -906,12 +914,22 @@ void totemknet_configure_log_level() + knet_log_mode = KNET_LOG_DEBUG; + break; + case LOGSYS_DEBUG_TRACE: ++#ifdef KNET_LOG_TRACE ++ knet_log_mode = KNET_LOG_TRACE; ++#else + knet_log_mode = KNET_LOG_DEBUG; ++#endif + break; + } + log_printf (LOGSYS_LEVEL_DEBUG, "totemknet setting log level %s", knet_log_get_loglevel_name(knet_log_mode)); ++ err = 0; + for (s = 0; sknet_handle, s, knet_log_mode); ++ err = knet_log_set_loglevel(global_instance->knet_handle, s, knet_log_mode); ++ } ++ ++ /* If one fails, they all fail. no point in issuing KNET_MAX_SUBSYSTEMS errors */ ++ if (err) { ++ log_printf (LOGSYS_LEVEL_ERROR, "totemknet failed to set log level: %s", strerror(errno)); + } + } + + diff --git a/corosync.spec b/corosync.spec index f6ac664..42fc153 100755 --- a/corosync.spec +++ b/corosync.spec @@ -18,11 +18,14 @@ Name: corosync Summary: The Corosync Cluster Engine and Application Programming Interfaces Version: 3.1.7 -Release: 2 -License: BSD +Release: 3 +License: BSD-3-Clause URL: http://corosync.github.io/corosync/ Source0: http://build.clusterlabs.org/corosync/releases/%{name}-%{version}%{?gittarver}.tar.gz +# https://github.com/corosync/corosync/pull/717 +Patch0: Use-knet-TRACE-logging-level-if-available.patch + # Runtime bits # The automatic dependency overridden in favor of explicit version lock Requires: corosynclib = %{version}-%{release} @@ -70,6 +73,7 @@ BuildRequires: readline-devel %prep %setup -q -n %{name}-%{version}%{?gittarver} +%patch0 -p1 %build %if %{with runautogen} @@ -287,6 +291,9 @@ network splits) %endif %changelog +* Tue Aug 22 2023 jiangxinyu - 3.1.7-3 +- Use knet TRACE logging level if available + * Tue Jul 11 2023 jiangxinyu - 3.1.7-2 - Fix build error