Import from AlmaLinux stable repository
This commit is contained in:
parent
4ec64e5e87
commit
c8f102c57a
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
SOURCES/sanlock-3.8.4.tar.gz
|
||||
SOURCES/sanlock-3.9.1.tar.gz
|
||||
|
@ -1 +1 @@
|
||||
494d5efc260b643ed9a3ee6bbdb0d31ecb14c201 SOURCES/sanlock-3.8.4.tar.gz
|
||||
ca8428d1be60cf92953b4aad4bf26802b9e7d266 SOURCES/sanlock-3.9.1.tar.gz
|
||||
|
@ -1,30 +0,0 @@
|
||||
From e82899fd996f4901e1ec89d77e4a17a1032fee8f Mon Sep 17 00:00:00 2001
|
||||
From: David Teigland <teigland@redhat.com>
|
||||
Date: Thu, 3 Mar 2022 09:39:52 -0600
|
||||
Subject: [PATCH 1/4] sanlock: fix memory leak of lockspace renewal_history
|
||||
|
||||
Leak was in original commit for "sanlock: renewal history"
|
||||
6313c709722b3ba63234a75d1651a160bf1728ee.
|
||||
|
||||
With the default renewal history size, each lockspace that
|
||||
was created would leak about 4kb of memory.
|
||||
---
|
||||
src/lockspace.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/lockspace.c b/src/lockspace.c
|
||||
index 2ebc247dce41..d23dccd84815 100644
|
||||
--- a/src/lockspace.c
|
||||
+++ b/src/lockspace.c
|
||||
@@ -939,6 +939,8 @@ static void free_sp(struct space *sp)
|
||||
{
|
||||
if (sp->lease_status.renewal_read_buf)
|
||||
free(sp->lease_status.renewal_read_buf);
|
||||
+ if (sp->renewal_history)
|
||||
+ free(sp->renewal_history);
|
||||
free(sp);
|
||||
}
|
||||
|
||||
--
|
||||
2.7.5
|
||||
|
@ -1,51 +0,0 @@
|
||||
From e44c47c48a3a71502deacbafda851cb6d93e78c8 Mon Sep 17 00:00:00 2001
|
||||
From: David Teigland <teigland@redhat.com>
|
||||
Date: Wed, 9 Mar 2022 15:25:11 -0600
|
||||
Subject: [PATCH 2/4] sanlock: fix pthread_create error check
|
||||
|
||||
for non-zero rather than less than zero
|
||||
---
|
||||
src/lockspace.c | 4 ++--
|
||||
src/main.c | 4 ++--
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/lockspace.c b/src/lockspace.c
|
||||
index d23dccd84815..582a0e973566 100644
|
||||
--- a/src/lockspace.c
|
||||
+++ b/src/lockspace.c
|
||||
@@ -1070,8 +1070,8 @@ int add_lockspace_start(struct sanlk_lockspace *ls, uint32_t io_timeout, struct
|
||||
(unsigned long long)sp->host_id_disk.offset);
|
||||
|
||||
rv = pthread_create(&sp->thread, NULL, lockspace_thread, sp);
|
||||
- if (rv < 0) {
|
||||
- log_erros(sp, "add_lockspace create thread failed");
|
||||
+ if (rv) {
|
||||
+ log_erros(sp, "add_lockspace create thread failed %d", rv);
|
||||
goto fail_del;
|
||||
}
|
||||
|
||||
diff --git a/src/main.c b/src/main.c
|
||||
index 5b6fabc6d0b8..613fb0ee23d5 100644
|
||||
--- a/src/main.c
|
||||
+++ b/src/main.c
|
||||
@@ -995,7 +995,7 @@ static int thread_pool_add_work(struct cmd_args *ca)
|
||||
if (!pool.free_workers && pool.num_workers < pool.max_workers) {
|
||||
rv = pthread_create(&th, NULL, thread_pool_worker,
|
||||
(void *)(long)pool.num_workers);
|
||||
- if (rv < 0) {
|
||||
+ if (rv) {
|
||||
log_error("thread_pool_add_work ci %d error %d", ca->ci_in, rv);
|
||||
list_del(&ca->list);
|
||||
pthread_mutex_unlock(&pool.mutex);
|
||||
@@ -1035,7 +1035,7 @@ static int thread_pool_create(int min_workers, int max_workers)
|
||||
for (i = 0; i < min_workers; i++) {
|
||||
rv = pthread_create(&th, NULL, thread_pool_worker,
|
||||
(void *)(long)i);
|
||||
- if (rv < 0)
|
||||
+ if (rv)
|
||||
break;
|
||||
pool.num_workers++;
|
||||
}
|
||||
--
|
||||
2.7.5
|
||||
|
@ -1,42 +0,0 @@
|
||||
From 4ed90cfb2462d3463ae74935c5eeb9d9588ea098 Mon Sep 17 00:00:00 2001
|
||||
From: David Teigland <teigland@redhat.com>
|
||||
Date: Thu, 17 Mar 2022 13:41:31 -0500
|
||||
Subject: [PATCH 3/4] Revert "sanlock: Shrink thread pool when there is no
|
||||
work"
|
||||
|
||||
This reverts commit 0ff9c1ab8852bec846822ee2af55ebcb7e5f5967.
|
||||
|
||||
This patch causes unexplained growth in memory usage.
|
||||
Part of the problem may be that the worker threads are
|
||||
not joined and the detached state is not set, but an
|
||||
initial test setting the detached state didn't seem
|
||||
to fix the problem.
|
||||
---
|
||||
src/main.c | 4 ----
|
||||
1 file changed, 4 deletions(-)
|
||||
|
||||
diff --git a/src/main.c b/src/main.c
|
||||
index 613fb0ee23d5..b447b723a490 100644
|
||||
--- a/src/main.c
|
||||
+++ b/src/main.c
|
||||
@@ -946,9 +946,6 @@ static void *thread_pool_worker(void *data)
|
||||
|
||||
while (1) {
|
||||
while (!pool.quit && list_empty(&pool.work_data)) {
|
||||
- if (pool.free_workers >= DEFAULT_MIN_WORKER_THREADS)
|
||||
- goto out;
|
||||
-
|
||||
pool.free_workers++;
|
||||
pthread_cond_wait(&pool.cond, &pool.mutex);
|
||||
pool.free_workers--;
|
||||
@@ -969,7 +966,6 @@ static void *thread_pool_worker(void *data)
|
||||
break;
|
||||
}
|
||||
|
||||
-out:
|
||||
pool.num_workers--;
|
||||
if (!pool.num_workers)
|
||||
pthread_cond_signal(&pool.quit_wait);
|
||||
--
|
||||
2.7.5
|
||||
|
@ -1,63 +0,0 @@
|
||||
From 574d3cc3ecccd1e8a6c1a8a861dd4847a05789f5 Mon Sep 17 00:00:00 2001
|
||||
From: David Teigland <teigland@redhat.com>
|
||||
Date: Fri, 18 Mar 2022 09:32:06 -0500
|
||||
Subject: [PATCH 4/4] sanlock: fix pthread_create error paths
|
||||
|
||||
The fix for pthread_create errors in commit
|
||||
5abb9d50616d399914958b99352b8cf016e4928a
|
||||
sanlock: fix pthread_create error check
|
||||
missed error handling further in the exit path.
|
||||
---
|
||||
src/lockspace.c | 1 +
|
||||
src/main.c | 8 ++++++--
|
||||
2 files changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/lockspace.c b/src/lockspace.c
|
||||
index 582a0e973566..d9b79f6de257 100644
|
||||
--- a/src/lockspace.c
|
||||
+++ b/src/lockspace.c
|
||||
@@ -1072,6 +1072,7 @@ int add_lockspace_start(struct sanlk_lockspace *ls, uint32_t io_timeout, struct
|
||||
rv = pthread_create(&sp->thread, NULL, lockspace_thread, sp);
|
||||
if (rv) {
|
||||
log_erros(sp, "add_lockspace create thread failed %d", rv);
|
||||
+ rv = -1;
|
||||
goto fail_del;
|
||||
}
|
||||
|
||||
diff --git a/src/main.c b/src/main.c
|
||||
index b447b723a490..5a0f9ba677ff 100644
|
||||
--- a/src/main.c
|
||||
+++ b/src/main.c
|
||||
@@ -995,6 +995,7 @@ static int thread_pool_add_work(struct cmd_args *ca)
|
||||
log_error("thread_pool_add_work ci %d error %d", ca->ci_in, rv);
|
||||
list_del(&ca->list);
|
||||
pthread_mutex_unlock(&pool.mutex);
|
||||
+ rv = -1;
|
||||
return rv;
|
||||
}
|
||||
pool.num_workers++;
|
||||
@@ -1019,7 +1020,7 @@ static void thread_pool_free(void)
|
||||
static int thread_pool_create(int min_workers, int max_workers)
|
||||
{
|
||||
pthread_t th;
|
||||
- int i, rv;
|
||||
+ int i, rv = 0;
|
||||
|
||||
memset(&pool, 0, sizeof(pool));
|
||||
INIT_LIST_HEAD(&pool.work_data);
|
||||
@@ -1031,8 +1032,11 @@ static int thread_pool_create(int min_workers, int max_workers)
|
||||
for (i = 0; i < min_workers; i++) {
|
||||
rv = pthread_create(&th, NULL, thread_pool_worker,
|
||||
(void *)(long)i);
|
||||
- if (rv)
|
||||
+ if (rv) {
|
||||
+ log_error("thread_pool_create failed %d", rv);
|
||||
+ rv = -1;
|
||||
break;
|
||||
+ }
|
||||
pool.num_workers++;
|
||||
}
|
||||
|
||||
--
|
||||
2.7.5
|
||||
|
@ -1,6 +1,6 @@
|
||||
Name: sanlock
|
||||
Version: 3.8.4
|
||||
Release: 4%{?dist}
|
||||
Version: 3.9.1
|
||||
Release: 1%{?dist}
|
||||
Summary: A shared storage lock manager
|
||||
|
||||
License: GPLv2 and GPLv2+ and LGPLv2+
|
||||
@ -22,20 +22,14 @@ Requires(preun): systemd-units
|
||||
Requires(postun): systemd-units
|
||||
Source0: https://releases.pagure.org/sanlock/%{name}-%{version}.tar.gz
|
||||
|
||||
Patch0: 0001-sanlock-fix-memory-leak-of-lockspace-renewal_history.patch
|
||||
Patch1: 0002-sanlock-fix-pthread_create-error-check.patch
|
||||
Patch2: 0003-Revert-sanlock-Shrink-thread-pool-when-there-is-no-w.patch
|
||||
Patch3: 0004-sanlock-fix-pthread_create-error-paths.patch
|
||||
#Patch0:
|
||||
|
||||
%description
|
||||
The sanlock daemon manages leases for applications on hosts using shared storage.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1 -b .backup0
|
||||
%patch1 -p1 -b .backup1
|
||||
%patch2 -p1 -b .backup2
|
||||
%patch3 -p1 -b .backup3
|
||||
#%patch0 -p1 -b .backup0
|
||||
|
||||
%build
|
||||
%set_build_flags
|
||||
@ -60,8 +54,8 @@ make -C python \
|
||||
|
||||
|
||||
install -D -m 0644 init.d/sanlock.service.native $RPM_BUILD_ROOT/%{_unitdir}/sanlock.service
|
||||
install -D -m 0755 init.d/wdmd $RPM_BUILD_ROOT/usr/lib/systemd/systemd-wdmd
|
||||
install -D -m 0644 init.d/wdmd.service.native $RPM_BUILD_ROOT/%{_unitdir}/wdmd.service
|
||||
install -D -m 0755 init.d/systemd-wdmd $RPM_BUILD_ROOT/usr/lib/systemd/systemd-wdmd
|
||||
install -D -m 0644 init.d/wdmd.service $RPM_BUILD_ROOT/%{_unitdir}/wdmd.service
|
||||
|
||||
install -D -m 0644 src/logrotate.sanlock \
|
||||
$RPM_BUILD_ROOT/etc/logrotate.d/sanlock
|
||||
@ -73,7 +67,7 @@ install -D -m 0644 init.d/wdmd.sysconfig \
|
||||
$RPM_BUILD_ROOT/etc/sysconfig/wdmd
|
||||
|
||||
install -Dd -m 0755 $RPM_BUILD_ROOT/etc/wdmd.d
|
||||
install -Dd -m 0775 $RPM_BUILD_ROOT/%{_localstatedir}/run/sanlock
|
||||
install -Dd -m 0775 $RPM_BUILD_ROOT/run/sanlock
|
||||
|
||||
%pre
|
||||
getent group sanlock > /dev/null || /usr/sbin/groupadd \
|
||||
@ -100,15 +94,12 @@ getent passwd sanlock > /dev/null || /usr/sbin/useradd \
|
||||
%{_sbindir}/wdmd
|
||||
%dir %{_sysconfdir}/wdmd.d
|
||||
%dir %{_sysconfdir}/sanlock
|
||||
%dir %attr(-,sanlock,sanlock) %{_localstatedir}/run/sanlock
|
||||
%dir %attr(-,sanlock,sanlock) /run/sanlock
|
||||
%{_mandir}/man8/wdmd*
|
||||
%{_mandir}/man8/sanlock*
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/sanlock
|
||||
%config(noreplace) %{_sysconfdir}/sanlock/sanlock.conf
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/wdmd
|
||||
%doc init.d/sanlock
|
||||
%doc init.d/sanlock.service
|
||||
%doc init.d/wdmd.service
|
||||
|
||||
%package lib
|
||||
Summary: A shared storage lock manager library
|
||||
@ -162,6 +153,18 @@ developing applications that use %{name}.
|
||||
%{_libdir}/pkgconfig/libsanlock_client.pc
|
||||
|
||||
%changelog
|
||||
* Mon Jan 22 2024 David Teigland <teigland@redhat.com> - 3.9.1-1
|
||||
- upstream release, fix rpm issues
|
||||
|
||||
* Fri Dec 15 2023 David Teigland <teigland@redhat.com> - 3.9.0-3
|
||||
- fix rpm issues
|
||||
|
||||
* Fri Dec 15 2023 David Teigland <teigland@redhat.com> - 3.9.0-2
|
||||
- fix rpm issues
|
||||
|
||||
* Wed Dec 13 2023 David Teigland <teigland@redhat.com> - 3.9.0-1
|
||||
- rebase to new upstream release
|
||||
|
||||
* Fri Apr 01 2022 David Teigland <teigland@redhat.com> - 3.8.4-4
|
||||
- fixes for thread/memory leak
|
||||
|
||||
@ -173,7 +176,7 @@ developing applications that use %{name}.
|
||||
Related: rhbz#1991688
|
||||
|
||||
* Mon Jun 28 2021 David Teigland <teigland@redhat.com> - 3.8.1-10
|
||||
- fuck this process
|
||||
- f#ck this process
|
||||
|
||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 3.8.1-9
|
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||
|
Loading…
Reference in New Issue
Block a user