import systemd-239-74.el8_8
This commit is contained in:
parent
18d12a5bb4
commit
a27fb26cd3
|
@ -0,0 +1,38 @@
|
||||||
|
From 47cc8f7e1d153e576f146d309b4043739997a673 Mon Sep 17 00:00:00 2001
|
||||||
|
From: David Tardon <dtardon@redhat.com>
|
||||||
|
Date: Mon, 13 Mar 2023 14:22:28 +0100
|
||||||
|
Subject: [PATCH] journald-server: always create state file in signal handler
|
||||||
|
|
||||||
|
`journalctl --flush` waits on that file, so we must create if even if
|
||||||
|
nothing has really happened.
|
||||||
|
|
||||||
|
RHEL-only
|
||||||
|
|
||||||
|
Resolves: #2174645
|
||||||
|
---
|
||||||
|
src/journal/journald-server.c | 5 +++++
|
||||||
|
1 file changed, 5 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
|
||||||
|
index 279a32768c..c72cb68095 100644
|
||||||
|
--- a/src/journal/journald-server.c
|
||||||
|
+++ b/src/journal/journald-server.c
|
||||||
|
@@ -1188,6 +1188,7 @@ int server_process_datagram(sd_event_source *es, int fd, uint32_t revents, void
|
||||||
|
|
||||||
|
static int dispatch_sigusr1(sd_event_source *es, const struct signalfd_siginfo *si, void *userdata) {
|
||||||
|
Server *s = userdata;
|
||||||
|
+ int r;
|
||||||
|
|
||||||
|
assert(s);
|
||||||
|
|
||||||
|
@@ -1197,6 +1198,10 @@ static int dispatch_sigusr1(sd_event_source *es, const struct signalfd_siginfo *
|
||||||
|
server_sync(s);
|
||||||
|
server_vacuum(s, false);
|
||||||
|
|
||||||
|
+ r = touch("/run/systemd/journal/flushed");
|
||||||
|
+ if (r < 0)
|
||||||
|
+ log_warning_errno(r, "Failed to touch /run/systemd/journal/flushed, ignoring: %m");
|
||||||
|
+
|
||||||
|
server_space_usage_message(s, NULL);
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,62 @@
|
||||||
|
From 7a7b0c4ec7a5595a44d9c70d8270b0724a8b8c45 Mon Sep 17 00:00:00 2001
|
||||||
|
From: David Tardon <dtardon@redhat.com>
|
||||||
|
Date: Mon, 13 Mar 2023 14:31:38 +0100
|
||||||
|
Subject: [PATCH] journald-server: move relinquish code into function
|
||||||
|
|
||||||
|
No functional change, just refactoring.
|
||||||
|
|
||||||
|
RHEL-only
|
||||||
|
|
||||||
|
Related: #2174645
|
||||||
|
---
|
||||||
|
src/journal/journald-server.c | 23 ++++++++++++++++-------
|
||||||
|
1 file changed, 16 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
|
||||||
|
index c72cb68095..aa70db95cc 100644
|
||||||
|
--- a/src/journal/journald-server.c
|
||||||
|
+++ b/src/journal/journald-server.c
|
||||||
|
@@ -1258,20 +1258,16 @@ static int dispatch_sigrtmin1(sd_event_source *es, const struct signalfd_siginfo
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
-
|
||||||
|
-static int dispatch_sigrtmin2(sd_event_source *es, const struct signalfd_siginfo *si, void *userdata) {
|
||||||
|
- Server *s = userdata;
|
||||||
|
+static void relinquish_var(Server *s) {
|
||||||
|
int r;
|
||||||
|
|
||||||
|
assert(s);
|
||||||
|
|
||||||
|
if (s->storage == STORAGE_NONE)
|
||||||
|
- return 0;
|
||||||
|
+ return;
|
||||||
|
|
||||||
|
if (s->runtime_journal && !s->system_journal)
|
||||||
|
- return 0;
|
||||||
|
-
|
||||||
|
- log_debug("Received request to relinquish /var from PID " PID_FMT, si->ssi_pid);
|
||||||
|
+ return;
|
||||||
|
|
||||||
|
(void) system_journal_open(s, false, true);
|
||||||
|
|
||||||
|
@@ -1286,6 +1282,19 @@ static int dispatch_sigrtmin2(sd_event_source *es, const struct signalfd_siginfo
|
||||||
|
if (r < 0)
|
||||||
|
log_warning_errno(r, "Failed to write /run/systemd/journal/relinquished, ignoring: %m");
|
||||||
|
|
||||||
|
+ return;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static int dispatch_sigrtmin2(sd_event_source *es, const struct signalfd_siginfo *si, void *userdata) {
|
||||||
|
+ Server *s = userdata;
|
||||||
|
+
|
||||||
|
+ assert(s);
|
||||||
|
+ assert(si);
|
||||||
|
+
|
||||||
|
+ log_debug("Received request to relinquish /var from PID " PID_FMT, si->ssi_pid);
|
||||||
|
+
|
||||||
|
+ relinquish_var(s);
|
||||||
|
+
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
From 980add7d84084a474c6c604c0670743c2d1e624c Mon Sep 17 00:00:00 2001
|
||||||
|
From: David Tardon <dtardon@redhat.com>
|
||||||
|
Date: Mon, 13 Mar 2023 14:32:20 +0100
|
||||||
|
Subject: [PATCH] journald-server: always touch state file in signal handler
|
||||||
|
|
||||||
|
`journalctl --relinquish-var` waits on that file, so we must create if
|
||||||
|
even if nothing has really happened.
|
||||||
|
|
||||||
|
RHEL-only
|
||||||
|
|
||||||
|
Related: #2174645
|
||||||
|
---
|
||||||
|
src/journal/journald-server.c | 12 +++++++-----
|
||||||
|
1 file changed, 7 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
|
||||||
|
index aa70db95cc..4788ff78bb 100644
|
||||||
|
--- a/src/journal/journald-server.c
|
||||||
|
+++ b/src/journal/journald-server.c
|
||||||
|
@@ -1259,8 +1259,6 @@ static int dispatch_sigrtmin1(sd_event_source *es, const struct signalfd_siginfo
|
||||||
|
}
|
||||||
|
|
||||||
|
static void relinquish_var(Server *s) {
|
||||||
|
- int r;
|
||||||
|
-
|
||||||
|
assert(s);
|
||||||
|
|
||||||
|
if (s->storage == STORAGE_NONE)
|
||||||
|
@@ -1278,15 +1276,15 @@ static void relinquish_var(Server *s) {
|
||||||
|
if (unlink("/run/systemd/journal/flushed") < 0 && errno != ENOENT)
|
||||||
|
log_warning_errno(errno, "Failed to unlink /run/systemd/journal/flushed, ignoring: %m") ;
|
||||||
|
|
||||||
|
- r = write_timestamp_file_atomic("/run/systemd/journal/relinquished", now(CLOCK_MONOTONIC));
|
||||||
|
- if (r < 0)
|
||||||
|
- log_warning_errno(r, "Failed to write /run/systemd/journal/relinquished, ignoring: %m");
|
||||||
|
+ /* NOTE: We don't create our own state file here, because dispatch_sigrtmin2() has to do it anyway.
|
||||||
|
+ * But if this function is ever called from another place, the creation must be done here too. */
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int dispatch_sigrtmin2(sd_event_source *es, const struct signalfd_siginfo *si, void *userdata) {
|
||||||
|
Server *s = userdata;
|
||||||
|
+ int r;
|
||||||
|
|
||||||
|
assert(s);
|
||||||
|
assert(si);
|
||||||
|
@@ -1295,6 +1293,10 @@ static int dispatch_sigrtmin2(sd_event_source *es, const struct signalfd_siginfo
|
||||||
|
|
||||||
|
relinquish_var(s);
|
||||||
|
|
||||||
|
+ r = write_timestamp_file_atomic("/run/systemd/journal/relinquished", now(CLOCK_MONOTONIC));
|
||||||
|
+ if (r < 0)
|
||||||
|
+ log_warning_errno(r, "Failed to write /run/systemd/journal/relinquished, ignoring: %m");
|
||||||
|
+
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
Name: systemd
|
Name: systemd
|
||||||
Url: http://www.freedesktop.org/wiki/Software/systemd
|
Url: http://www.freedesktop.org/wiki/Software/systemd
|
||||||
Version: 239
|
Version: 239
|
||||||
Release: 73%{?dist}
|
Release: 74%{?dist}
|
||||||
# For a breakdown of the licensing, see README
|
# For a breakdown of the licensing, see README
|
||||||
License: LGPLv2+ and MIT and GPLv2+
|
License: LGPLv2+ and MIT and GPLv2+
|
||||||
Summary: System and Service Manager
|
Summary: System and Service Manager
|
||||||
|
@ -951,6 +951,9 @@ Patch0898: 0898-journald-rework-pid-change-handling.patch
|
||||||
Patch0899: 0899-test-Add-a-test-case-for-15654.patch
|
Patch0899: 0899-test-Add-a-test-case-for-15654.patch
|
||||||
Patch0900: 0900-test-Stricter-test-case-for-15654-Add-more-checks.patch
|
Patch0900: 0900-test-Stricter-test-case-for-15654-Add-more-checks.patch
|
||||||
Patch0901: 0901-man-document-the-new-_LINE_BREAK-type.patch
|
Patch0901: 0901-man-document-the-new-_LINE_BREAK-type.patch
|
||||||
|
Patch0902: 0902-journald-server-always-create-state-file-in-signal-h.patch
|
||||||
|
Patch0903: 0903-journald-server-move-relinquish-code-into-function.patch
|
||||||
|
Patch0904: 0904-journald-server-always-touch-state-file-in-signal-ha.patch
|
||||||
|
|
||||||
%ifarch %{ix86} x86_64 aarch64
|
%ifarch %{ix86} x86_64 aarch64
|
||||||
%global have_gnu_efi 1
|
%global have_gnu_efi 1
|
||||||
|
@ -1581,6 +1584,11 @@ fi
|
||||||
%files tests -f .file-list-tests
|
%files tests -f .file-list-tests
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Mar 14 2023 systemd maintenance team <systemd-maint@redhat.com> - 239-74
|
||||||
|
- journald-server: always create state file in signal handler (#2174645)
|
||||||
|
- journald-server: move relinquish code into function (#2174645)
|
||||||
|
- journald-server: always touch state file in signal handler (#2174645)
|
||||||
|
|
||||||
* Mon Feb 27 2023 systemd maintenance team <systemd-maint@redhat.com> - 239-73
|
* Mon Feb 27 2023 systemd maintenance team <systemd-maint@redhat.com> - 239-73
|
||||||
- journald: add API to move logging from /var to /run again (#1873540)
|
- journald: add API to move logging from /var to /run again (#1873540)
|
||||||
- journalctl: add new --relinquish and --smart-relinquish options (#1873540)
|
- journalctl: add new --relinquish and --smart-relinquish options (#1873540)
|
||||||
|
|
Loading…
Reference in New Issue