From f953917f6ac1ace072fe2515949a04b467722b24 Mon Sep 17 00:00:00 2001 From: Jan Macku Date: Mon, 23 Feb 2026 18:14:00 +0100 Subject: [PATCH] systemd-252-67 Resolves: RHEL-143727 --- ...te-transaction-that-contain-useful-j.patch | 36 +++++++++++++++++++ systemd.spec | 6 +++- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 1325-core-only-activate-transaction-that-contain-useful-j.patch diff --git a/1325-core-only-activate-transaction-that-contain-useful-j.patch b/1325-core-only-activate-transaction-that-contain-useful-j.patch new file mode 100644 index 0000000..e1ecff1 --- /dev/null +++ b/1325-core-only-activate-transaction-that-contain-useful-j.patch @@ -0,0 +1,36 @@ +From 9d7bd63efe0596fa1b4cd0cc6672b092aafb2ec7 Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Fri, 9 Jan 2026 17:18:41 +0100 +Subject: [PATCH] core: only activate transaction that contain useful jobs + +If no real jobs were added to the transaction, do not activate it. +The JOB_NOP anchor does not perform any useful work and activating +such transaction only wastes resources. + +Fixes #9751 + +(cherry picked from commit bcbf80c43d107ad233edc990a60bdc40f517085a) + +Resolves: RHEL-143727 +--- + src/core/manager.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/src/core/manager.c b/src/core/manager.c +index 9070dc0b1f..ec5e374f24 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -2013,6 +2013,13 @@ int manager_propagate_reload(Manager *m, Unit *unit, JobMode mode, sd_bus_error + /* Failure in adding individual dependencies is ignored, so this always succeeds. */ + transaction_add_propagate_reload_jobs(tr, unit, tr->anchor_job, mode == JOB_IGNORE_DEPENDENCIES, e); + ++ /* Only activate the transaction if it contains jobs other than NOP anchor. ++ * Short-circuiting here avoids unnecessary processing, such as emitting D-Bus signals. */ ++ if (hashmap_size(tr->jobs) <= 1) { ++ r = 0; ++ goto tr_abort; ++ } ++ + r = transaction_activate(tr, m, mode, NULL, e); + if (r < 0) + goto tr_abort; diff --git a/systemd.spec b/systemd.spec index 606b901..e983b12 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,7 +21,7 @@ Name: systemd Url: https://systemd.io Version: 252 -Release: 66%{?dist} +Release: 67%{?dist} # For a breakdown of the licensing, see README License: LGPLv2+ and MIT and GPLv2+ Summary: System and Service Manager @@ -1407,6 +1407,7 @@ Patch1321: 1321-man-properly-close-XML-tags.patch Patch1322: 1322-tmpfiles-teach-tmpfiles-the-new-XDG_STATE_HOME-varia.patch Patch1323: 1323-test-use-XDG_STATE_HOME-for-S-and-L.patch Patch1324: 1324-man-fully-adopt-.local-state.patch +Patch1325: 1325-core-only-activate-transaction-that-contain-useful-j.patch # Downstream-only patches (9000–9999) @@ -2284,6 +2285,9 @@ systemd-hwdb update &>/dev/null || : %{_prefix}/lib/dracut/modules.d/70rhel-net-naming-sysattrs/* %changelog +* Mon Feb 23 2026 systemd maintenance team - 252-67 +- core: only activate transaction that contain useful jobs (RHEL-143727) + * Mon Feb 23 2026 systemd maintenance team - 252-66 - core/service: fix error cause in the log (RHEL-138414) - fstab-generator: drop assertions for mount opts (RHEL-92752)