import CS sanlock-3.9.1-1.el9
This commit is contained in:
parent
19d72de1d2
commit
c2be719f92
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
|
Name: sanlock
|
||||||
Version: 3.8.4
|
Version: 3.9.1
|
||||||
Release: 4%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: A shared storage lock manager
|
Summary: A shared storage lock manager
|
||||||
|
|
||||||
License: GPLv2 and GPLv2+ and LGPLv2+
|
License: GPLv2 and GPLv2+ and LGPLv2+
|
||||||
@ -22,20 +22,14 @@ Requires(preun): systemd-units
|
|||||||
Requires(postun): systemd-units
|
Requires(postun): systemd-units
|
||||||
Source0: https://releases.pagure.org/sanlock/%{name}-%{version}.tar.gz
|
Source0: https://releases.pagure.org/sanlock/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
Patch0: 0001-sanlock-fix-memory-leak-of-lockspace-renewal_history.patch
|
#Patch0:
|
||||||
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
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The sanlock daemon manages leases for applications on hosts using shared storage.
|
The sanlock daemon manages leases for applications on hosts using shared storage.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1 -b .backup0
|
#%patch0 -p1 -b .backup0
|
||||||
%patch1 -p1 -b .backup1
|
|
||||||
%patch2 -p1 -b .backup2
|
|
||||||
%patch3 -p1 -b .backup3
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%set_build_flags
|
%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 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 0755 init.d/systemd-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 0644 init.d/wdmd.service $RPM_BUILD_ROOT/%{_unitdir}/wdmd.service
|
||||||
|
|
||||||
install -D -m 0644 src/logrotate.sanlock \
|
install -D -m 0644 src/logrotate.sanlock \
|
||||||
$RPM_BUILD_ROOT/etc/logrotate.d/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
|
$RPM_BUILD_ROOT/etc/sysconfig/wdmd
|
||||||
|
|
||||||
install -Dd -m 0755 $RPM_BUILD_ROOT/etc/wdmd.d
|
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
|
%pre
|
||||||
getent group sanlock > /dev/null || /usr/sbin/groupadd \
|
getent group sanlock > /dev/null || /usr/sbin/groupadd \
|
||||||
@ -100,15 +94,12 @@ getent passwd sanlock > /dev/null || /usr/sbin/useradd \
|
|||||||
%{_sbindir}/wdmd
|
%{_sbindir}/wdmd
|
||||||
%dir %{_sysconfdir}/wdmd.d
|
%dir %{_sysconfdir}/wdmd.d
|
||||||
%dir %{_sysconfdir}/sanlock
|
%dir %{_sysconfdir}/sanlock
|
||||||
%dir %attr(-,sanlock,sanlock) %{_localstatedir}/run/sanlock
|
%dir %attr(-,sanlock,sanlock) /run/sanlock
|
||||||
%{_mandir}/man8/wdmd*
|
%{_mandir}/man8/wdmd*
|
||||||
%{_mandir}/man8/sanlock*
|
%{_mandir}/man8/sanlock*
|
||||||
%config(noreplace) %{_sysconfdir}/logrotate.d/sanlock
|
%config(noreplace) %{_sysconfdir}/logrotate.d/sanlock
|
||||||
%config(noreplace) %{_sysconfdir}/sanlock/sanlock.conf
|
%config(noreplace) %{_sysconfdir}/sanlock/sanlock.conf
|
||||||
%config(noreplace) %{_sysconfdir}/sysconfig/wdmd
|
%config(noreplace) %{_sysconfdir}/sysconfig/wdmd
|
||||||
%doc init.d/sanlock
|
|
||||||
%doc init.d/sanlock.service
|
|
||||||
%doc init.d/wdmd.service
|
|
||||||
|
|
||||||
%package lib
|
%package lib
|
||||||
Summary: A shared storage lock manager library
|
Summary: A shared storage lock manager library
|
||||||
@ -162,6 +153,18 @@ developing applications that use %{name}.
|
|||||||
%{_libdir}/pkgconfig/libsanlock_client.pc
|
%{_libdir}/pkgconfig/libsanlock_client.pc
|
||||||
|
|
||||||
%changelog
|
%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
|
* Fri Apr 01 2022 David Teigland <teigland@redhat.com> - 3.8.4-4
|
||||||
- fixes for thread/memory leak
|
- fixes for thread/memory leak
|
||||||
|
|
||||||
@ -173,7 +176,7 @@ developing applications that use %{name}.
|
|||||||
Related: rhbz#1991688
|
Related: rhbz#1991688
|
||||||
|
|
||||||
* Mon Jun 28 2021 David Teigland <teigland@redhat.com> - 3.8.1-10
|
* 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
|
* 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
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||||
|
Loading…
Reference in New Issue
Block a user