- Add 5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch

5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch
  It seems that systemd upstream has a dubious way to fix broken code these
  days... let's revert these hacks until a final decision is taken to solve
  https://github.com/systemd/systemd/issues/28141. See also
  https://github.com/systemd/systemd/pull/30075.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1483
This commit is contained in:
Franck Bui 2024-01-12 10:19:47 +00:00 committed by Git OBS Bridge
parent 31bc789b24
commit b8562e4177
4 changed files with 86 additions and 0 deletions

View File

@ -0,0 +1,37 @@
From 323274d5e7545013b09c280254879dcbf1430fbf Mon Sep 17 00:00:00 2001
From: Franck Bui <fbui@suse.com>
Date: Fri, 12 Jan 2024 10:54:57 +0100
Subject: [PATCH 5001/5002] Revert "udev: update devlink with the newer device
node even when priority is equivalent"
This reverts commit 277cb24ffb7a520f640eb36d11340f11bf0c7c4f.
---
src/udev/udev-node.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/udev/udev-node.c b/src/udev/udev-node.c
index 74a70185bc..75845413cf 100644
--- a/src/udev/udev-node.c
+++ b/src/udev/udev-node.c
@@ -468,13 +468,13 @@ static int link_update(sd_device *dev, const char *slink, bool add) {
/* The devlink priority is downgraded. Another device may have a higher
* priority now. Let's find the device node with the highest priority. */
} else {
- if (current_prio > prio)
- /* The devlink with a higher priority already exists and is owned by
- * another device. Hence, it is not necessary to recreate it. */
+ if (current_prio >= prio)
+ /* The devlink with equal or higher priority already exists and is
+ * owned by another device. Hence, it is not necessary to recreate it. */
return 0;
- /* This device has the equal or a higher priority than the current. Let's
- * create the devlink to our device node. */
+ /* This device has a higher priority than the current. Let's create the
+ * devlink to our device node. */
return node_symlink(dev, NULL, slink);
}
--
2.35.3

View File

@ -0,0 +1,36 @@
From 65b0ae29194a335dc2cc1410d57acf7307251791 Mon Sep 17 00:00:00 2001
From: Franck Bui <fbui@suse.com>
Date: Fri, 12 Jan 2024 10:55:17 +0100
Subject: [PATCH 5002/5002] Revert "udev: revert workarounds for issues caused
by the devlink creation optimization"
This reverts commit b8fa62589271a0a7552c6eb02e6beac3ca759ba7.
---
rules.d/60-persistent-storage.rules.in | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/rules.d/60-persistent-storage.rules.in b/rules.d/60-persistent-storage.rules.in
index 835263f3cb..d5e0f5f705 100644
--- a/rules.d/60-persistent-storage.rules.in
+++ b/rules.d/60-persistent-storage.rules.in
@@ -134,6 +134,17 @@ KERNEL!="sr*|mmcblk[0-9]boot[0-9]", IMPORT{builtin}="blkid"
LABEL="persistent_storage_blkid_probe_end"
{% endif %}
+# Decrease devlink priority for whole disk of ISO hybrid images, and make the
+# priority for partitions in the image relatively higher. This is for the case
+# that a disk and one of its partition have the same label or so.
+# See issue #28468.
+ENV{ID_FS_TYPE}=="iso9660", ENV{DEVTYPE}=="disk", OPTIONS+="link_priority=-10"
+
+# Decrease devlink priority for encrypted partitions, and make the priority for
+# decrypted DM devices relatively higher. This is for the case that an encrypted
+# partition and its decrypted DM device have the same label.
+ENV{ID_FS_USAGE}=="crypto", OPTIONS+="link_priority=-10"
+
# by-label/by-uuid links (filesystem metadata)
ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
--
2.35.3

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Fri Jan 12 10:12:15 UTC 2024 - Franck Bui <fbui@suse.com>
- Add 5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch
5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch
It seems that systemd upstream has a dubious way to fix broken code these
days... let's revert these hacks until a final decision is taken to solve
https://github.com/systemd/systemd/issues/28141. See also
https://github.com/systemd/systemd/pull/30075.
-------------------------------------------------------------------
Fri Jan 12 09:34:14 UTC 2024 - Franck Bui <fbui@suse.com>

View File

@ -219,6 +219,8 @@ Patch5: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch
# very few cases, some stuff might be broken in upstream and need to be fixed or
# worked around quickly. In these cases, the patches are added temporarily and
# will be removed as soon as a proper fix will be merged by upstream.
Patch5001: 5001-Revert-udev-update-devlink-with-the-newer-device-nod.patch
Patch5002: 5002-Revert-udev-revert-workarounds-for-issues-caused-by-.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB