import CS corosync-qdevice-3.0.2-2.el8

This commit is contained in:
eabdullin 2023-09-27 12:46:58 +00:00
parent 91ffcb96bd
commit a1efd56aa5
2 changed files with 52 additions and 1 deletions

View File

@ -0,0 +1,41 @@
From 4331c7d5650a8bf44c16512419f1954d0ef96df5 Mon Sep 17 00:00:00 2001
From: Jan Friesse <jfriesse@redhat.com>
Date: Mon, 20 Mar 2023 11:01:46 +0100
Subject: [PATCH] qdevice: Destroy non blocking client on failure
This fixes regression introduced in patch
8217e33e86bca79dc307e112f0c0c4a278f9a568 which made qdevice assert when
PR_GetError in nss_sock_non_blocking_client_try_next called by
qdevice_model_net_pre_poll_loop returns error other than
PR_IN_PROGRESS_ERROR. This is usually not happening - only way to get
such error seems to be to ifdown ALL network interfaces other than
loopback and returned error is then PR_NETWORK_UNREACHABLE_ERROR
(-5980).
Fix is rather simple (and present in pre
8217e33e86bca79dc307e112f0c0c4a278f9a568) - just call
nss_sock_non_blocking_client_destroy.
Signed-off-by: Jan Friesse <jfriesse@redhat.com>
---
qdevices/qdevice-model-net.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/qdevices/qdevice-model-net.c b/qdevices/qdevice-model-net.c
index afcc649..f63e4bd 100644
--- a/qdevices/qdevice-model-net.c
+++ b/qdevices/qdevice-model-net.c
@@ -211,6 +211,10 @@ qdevice_model_net_pre_poll_loop(struct qdevice_instance *instance)
res = nss_sock_non_blocking_client_try_next(&net_instance->non_blocking_client);
if (res == -1) {
log_nss(LOG_ERR, "Can't connect to qnetd host");
+ /*
+ * To prevent adding non_blocking_client into loop but still keep loop running
+ */
+ nss_sock_non_blocking_client_destroy(&net_instance->non_blocking_client);
}
res = qdevice_net_socket_add_to_main_poll_loop(net_instance);
--
2.39.1

View File

@ -11,11 +11,13 @@
Name: corosync-qdevice
Summary: The Corosync Cluster Engine Qdevice
Version: 3.0.2
Release: 1%{?gitver}%{?dist}
Release: 2%{?gitver}%{?dist}
License: BSD
URL: https://github.com/corosync/corosync-qdevice
Source0: https://github.com/corosync/corosync-qdevice/releases/download/v%{version}%{?gittarver}/%{name}-%{version}%{?gittarver}.tar.gz
Patch0: bz2181322-1-qdevice-Destroy-non-blocking-client-on-failure.patch
# Runtime bits
Requires: corosync >= 2.4.0
Requires: corosynclib >= 2.4.0
@ -45,6 +47,8 @@ BuildRequires: autoconf automake libtool
%prep
%setup -q -n %{name}-%{version}%{?gittarver}
%patch0 -p1 -b .bz2181322-1
%build
%if %{with runautogen}
./autogen.sh
@ -206,6 +210,12 @@ fi
%{_mandir}/man8/corosync-qnetd.8*
%changelog
* Thu Mar 23 2023 Jan Friesse <jfriesse@redhat.com> - 3.0.2-2
- Resolves: rhbz#2181322
- qdevice: Destroy non blocking client on failure (rhbz#2181322)
- merge upstream commit 4331c7d5650a8bf44c16512419f1954d0ef96df5 (rhbz#2181322)
* Thu Nov 03 2022 Jan Friesse <jfriesse@redhat.com> - 3.0.2-1
- Resolves: rhbz#2135862