import UBI dracut-057-102.git20250818.el9

This commit is contained in:
eabdullin 2025-11-11 15:51:23 +00:00
parent 1fc4968fa2
commit 78f714863f
15 changed files with 646 additions and 66 deletions

241
SOURCES/0087.patch Normal file
View File

@ -0,0 +1,241 @@
From 844ce987255eddd9cc36b3e2c6070e9a82403750 Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Mon, 9 Jun 2025 22:32:14 +0200
Subject: [PATCH] chore: sync backport tool with rawhide
---
.distro/backport_fix.sh | 225 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 225 insertions(+)
diff --git a/.distro/backport_fix.sh b/.distro/backport_fix.sh
new file mode 100755
index 00000000..50e4c233
--- /dev/null
+++ b/.distro/backport_fix.sh
@@ -0,0 +1,225 @@
+#!/usr/bin/zsh
+#
+# .distro/backport_fix.sh [options] DISTRO_VERSION JIRA_ISSUE DRACUT_PR [COMMIT_COUNT [COMMITS_ORIGIN_REPO]]
+#
+
+set -xe
+zsh -n "$0"
+
+[[ -z "$EDITOR" ]] && EDITOR=nano
+
+: "OPT: continue after solving cherry-pick conflict"
+[[ "$1" == "-c" ]] && {
+ {
+ shift ||:
+ } 2>/dev/null
+ CON=y
+ :
+} || CON=
+
+: "OPT: delete conflicting branch"
+[[ "$1" == "-d" ]] && {
+ {
+ shift ||:
+ } 2>/dev/null
+ DEL=y
+ :
+} || DEL=
+
+: "OPT: Fedora distro"
+[[ "$1" == "-f" ]] && {
+ {
+ shift ||:
+ } 2>/dev/null
+ FED=y
+ :
+} || FED=
+
+: "OPT: local changes only"
+[[ "$1" == "-l" ]] && {
+ {
+ shift ||:
+ } 2>/dev/null
+ LOC=y
+
+} || LOC=
+
+: "OPT: expect ref (commit-ish to get commits from) instead of PR #"
+[[ "$1" == "-r" ]] && {
+ {
+ shift ||:
+ } 2>/dev/null
+ REF=y
+
+} || REF=
+
+: "OPT: skip already applied commits"
+[[ "$1" == "-s" ]] && {
+ SKI="$2"
+ {
+ shift 2 ||:
+ } 2>/dev/null
+ :
+} || SKI=0
+
+: 'No more opts (check order)'
+{
+ [[ -n "$1" ]] && [[ "${1:0:1}" == "-" ]] && exit 4
+
+} 2>/dev/null
+
+{ echo ; } 2>/dev/null
+
+: 'DISTRO version #'
+rv="${1}"
+{
+ [[ -n "$rv" ]]
+ shift
+} 2>/dev/null
+
+: 'Jira issue #'
+bn="${1}"
+{
+ [[ -n "$bn" ]]
+ shift ||:
+} 2>/dev/null
+
+: 'Dracut pull request or REF'
+pr="${1}"
+{
+ [[ -n "${pr}" ]]
+ shift ||:
+} 2>/dev/null
+
+: 'Commit count'
+cc="${1:-1}"
+{
+ [[ -n "$cc" ]]
+ shift ||:
+} 2>/dev/null
+
+: 'Commits origin repo'
+or="${1:-upstream-ng}"
+{
+ [[ -n "$or" ]]
+ shift ||:
+} 2>/dev/null
+
+: 'No extra arg'
+{
+ [[ -z "$1" ]]
+
+} 2>/dev/null
+
+{ echo ; } 2>/dev/null
+
+[[ -z "$FED" ]] && dist=rhel || dist=fedora
+
+remote="${dist}-${rv}"
+
+[[ -z "$REF" ]] && rf="pr${pr}" || rf="${or}/${pr}"
+
+{ echo ; } 2>/dev/null
+
+[[ -z "$CON" ]] && {
+ : "Create ${remote}-fix-${bn}?"
+ read '?-->continue?'
+
+ gitt
+ gitc "${remote}"
+
+ [[ -n "$DEL" ]] && gitbd "${remote}-fix-${bn}" ||:
+
+ gitp "${remote}"
+
+ gitcb "${remote}-fix-${bn}"
+
+ gitrh "${remote}/main"
+
+ [[ -z "$REF" ]] && gitf "${or}" "refs/pull/${pr}/head:${rf}"
+}
+
+: "List Commits"
+cis="$(gitl1 "${rf}" "-${cc}" --reverse | cut -d' ' -f1)"
+[[ -n "${cis}" ]]
+
+com="\nCherry-picked commits:\n${cis}\n"
+
+com="${com}\nResolves: RHEL-${bn}\n"
+
+echo -e "${com}"
+
+read '?-->continue?'
+
+i=0
+echo "${cis}" \
+| while read ci; do
+ [[ -n "${ci}" ]] || continue
+
+ i=$(($i+1))
+
+ [[ $i -le $SKI ]] && continue
+
+ gityx "${ci}" || {
+
+ mod="$(gits | grep '^\s*both modified: ')" ||:
+
+ [[ -z "$mod" ]] || {
+
+ mod="$(echo "$mod" | tr -s ' ' | cut -d' ' -f3)"
+
+ ls -d $mod
+
+ $EDITOR $mod
+
+ gita $mod
+
+ gitdh
+
+ gits
+
+ exit 2
+ }
+
+ gits | grep -q '^nothing to commit' \
+ && {
+ gits | grep 'git cherry-pick --skip'
+
+ gity --skip
+ :
+ } || {
+
+ gits
+
+ exit 3
+ }
+ }
+ done
+
+read '?-->continue?'
+
+[[ -z "$CON" ]] && {
+ [[ ${cc} -gt 1 ]] && {
+
+ gitei HEAD~${cc}
+ :
+ } || {
+
+ gitia --amend
+ }
+ :
+} || {
+ gits | grep -q '^\s*both modified: ' \
+ && gita `gits | grep '^\s*both modified: ' | tr -s ' ' | cut -d' ' -f3`
+
+ gityc ||:
+}
+
+gitl ||:
+gitlp ||:
+
+[[ -z "$LOC" ]] || exit 0
+
+gituu "${remote}"
+
+gh pr create -f -a '@me' -R "redhat-plumbers/dracut-rhel${rv}"

23
SOURCES/0088.patch Normal file
View File

@ -0,0 +1,23 @@
From 5dcc483cbe28534671aa12f4f651d85267911a72 Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Mon, 9 Jun 2025 22:52:21 +0200
Subject: [PATCH] ci: switch differential-shellcheck to ubuntu-latest
---
.github/workflows/differential-shellcheck.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/differential-shellcheck.yml b/.github/workflows/differential-shellcheck.yml
index 63a022bf..20e10c17 100644
--- a/.github/workflows/differential-shellcheck.yml
+++ b/.github/workflows/differential-shellcheck.yml
@@ -5,7 +5,7 @@ on:
jobs:
test:
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-latest
steps:
- name: Repository checkout

View File

@ -13,7 +13,7 @@ Fixes #1275
(cherry picked from commit 000cfa0c278c0858e81c8dd2ff7231f069f0afb1)
Resolves: RHEL-95895
Resolves: RHEL-92584
---
dracut.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

38
SOURCES/0090.patch Normal file
View File

@ -0,0 +1,38 @@
From 31bc18ffe0bdec790e18166e44c8a545410f8198 Mon Sep 17 00:00:00 2001
From: Antonio Alvarez Feijoo <antonio.feijoo@suse.com>
Date: Wed, 21 Sep 2022 11:54:17 +0200
Subject: [PATCH] fix(systemd): add missing modprobe@.service
sys-kernel-config.mount needs modprobe@configfs.service since systemd v246.7
(https://github.com/systemd/systemd/commit/42cc2855), so the kernel configfs
fails to mount in the initrd.
(cherry picked from commit 928252a145ca44627ba5873e01245eabe246992f)
Resolves: RHEL-97169
---
modules.d/00systemd/module-setup.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/modules.d/00systemd/module-setup.sh b/modules.d/00systemd/module-setup.sh
index 38393855..2d6fc9ff 100755
--- a/modules.d/00systemd/module-setup.sh
+++ b/modules.d/00systemd/module-setup.sh
@@ -83,6 +83,7 @@ install() {
\
"$systemdsystemunitdir"/sys-kernel-config.mount \
\
+ "$systemdsystemunitdir"/modprobe@.service \
"$systemdsystemunitdir"/kmod-static-nodes.service \
"$systemdsystemunitdir"/systemd-tmpfiles-setup.service \
"$systemdsystemunitdir"/systemd-tmpfiles-setup-dev.service \
@@ -176,6 +177,8 @@ install() {
/etc/systemd/journald.conf.d/*.conf \
/etc/systemd/system.conf \
/etc/systemd/system.conf.d/*.conf \
+ "$systemdsystemconfdir"/modprobe@.service \
+ "$systemdsystemconfdir/modprobe@.service.d/*.conf" \
/etc/hosts \
/etc/hostname \
/etc/nsswitch.conf \

52
SOURCES/0093.patch Normal file
View File

@ -0,0 +1,52 @@
From 27a740a5b37b5cc5dee808d4818a82746b98638b Mon Sep 17 00:00:00 2001
From: Coiby Xu <coxu@redhat.com>
Date: Mon, 26 May 2025 15:34:30 +0800
Subject: [PATCH] fix: let check_vol_slaves_all return 1 when checks on all
slaves fail
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Currently check_vol_slaves_all return 0 even after checks on all slaves
fail. And this leads to an issue that "dracut -hostonly-mode strict"
gets stuck forever because instmods keeps waiting for user input when
it's passed empty argument in the kernel-modules module.
Fixes: c7c8c498 ("dracut-functions.sh: catch all lvm slaves")
Reported-by: Tomáš Bžatek <tbzatek@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
(cherry picked from commit 1fcfb2bffdad22873a804043eeeb9bb65a99caa8)
Resolves: RHEL-104222
---
dracut-functions.sh | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 2e582ebc..0cf605dc 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -661,7 +661,7 @@ check_vol_slaves() {
}
check_vol_slaves_all() {
- local _vg _pv _majmin
+ local _vg _pv _majmin _ret=1
_majmin="$2"
_dm="/sys/dev/block/$_majmin/dm"
[[ -f $_dm/uuid && $(< "$_dm"/uuid) =~ LVM-* ]] || return 1
@@ -675,11 +675,10 @@ check_vol_slaves_all() {
fi
for _pv in $(lvm vgs --noheadings -o pv_name "$_vg" 2> /dev/null); do
- check_block_and_slaves_all "$1" "$(get_maj_min "$_pv")"
+ check_block_and_slaves_all "$1" "$(get_maj_min "$_pv")" && _ret=0
done
- return 0
fi
- return 1
+ return $_ret
}
# fs_get_option <filesystem options> <search for option>

43
SOURCES/0094.patch Normal file
View File

@ -0,0 +1,43 @@
From 61c98d1ce74f96e1089ada51b161632c0ca1e079 Mon Sep 17 00:00:00 2001
From: Tomas Bzatek <tbzatek@redhat.com>
Date: Tue, 3 Jun 2025 18:34:39 +0200
Subject: [PATCH] improvement(74nvmf): lookup required NIC kernel modules for
NBFT interfaces
When dracut is called with '--hostonly-mode strict' and perhaps even
with --hostonly-nics '' as done by kdump/mkdumprd, all the kernel
modules related to hostonly networking are stripped down. In such
a case it is viable to lookup and install the required kernel modules
ourselves, based on any currently present nbft interfaces.
Note: the lookup depends on the current 'nbftX' network interface
naming.
Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
(cherry picked from commit e949a76aaa8f1a1e4cb01d4cacf89c69c7bbd801)
Resolves: RHEL-104222
---
modules.d/95nvmf/module-setup.sh | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/modules.d/95nvmf/module-setup.sh b/modules.d/95nvmf/module-setup.sh
index 0b90d8be..bf051e41 100755
--- a/modules.d/95nvmf/module-setup.sh
+++ b/modules.d/95nvmf/module-setup.sh
@@ -61,6 +61,14 @@ depends() {
installkernel() {
instmods nvme_fc lpfc qla2xxx
hostonly="" instmods nvme_tcp nvme_fabrics 8021q
+ # lookup NIC kernel modules for active NBFT interfaces
+ if [[ $hostonly ]]; then
+ for i in /sys/class/net/nbft*; do
+ [ -d "$i" ] || continue
+ _driver=$(basename "$(readlink -f "$i/device/driver/module")")
+ [ -z "$_driver" ] || instmods "$_driver"
+ done
+ fi
}
# called by dracut

36
SOURCES/0095.patch Normal file
View File

@ -0,0 +1,36 @@
From 5015e56e3dc0e67b8115cfbddb1b575cf0551784 Mon Sep 17 00:00:00 2001
From: Tomas Bzatek <tbzatek@redhat.com>
Date: Tue, 24 Jun 2025 16:50:31 +0200
Subject: [PATCH] fix(74nvmf): set root=nvmf
In a restricted image like kdump the kernel commandline argument root=
is typically absent. However it is required by the 45net-lib/netroot.sh
module that fails with:
[ 23.599862] dracut: FATAL: No or empty root= argument
[ 23.604956] dracut: Refusing to continue
Inspired by the 74iscsi module, let's set it to root=nvmf if not set
before.
Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
(cherry picked from commit a6dce328ea9738a558db848fa8dbed253b15ee3d)
Resolves: RHEL-104222
---
modules.d/95nvmf/parse-nvmf-boot-connections.sh | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/modules.d/95nvmf/parse-nvmf-boot-connections.sh b/modules.d/95nvmf/parse-nvmf-boot-connections.sh
index 66018371..4721efce 100755
--- a/modules.d/95nvmf/parse-nvmf-boot-connections.sh
+++ b/modules.d/95nvmf/parse-nvmf-boot-connections.sh
@@ -324,3 +324,7 @@ fi
/sbin/initqueue --settled --onetime --name nvmf-connect-settled /sbin/nvmf-autoconnect.sh settled
/sbin/initqueue --timeout --onetime --name nvmf-connect-timeout /sbin/nvmf-autoconnect.sh timeout
+
+# shellcheck disable=SC2034
+rootok=1
+[ -z "$root" ] && root="nvmf"

View File

@ -8,7 +8,7 @@ Deprecated since 778b3543609d8c9d32df7111229f4072d00d02f0 (Nov 25, 2014).
(cherry picked from commit 954420374a63be32f6ece5fc1476ba18163da1f7)
Related: RHEL-109565
Related: RHEL-96106
---
man/dracut.cmdline.7.asc | 2 --
modules.d/90multipath/multipathd.service | 1 -

View File

@ -8,7 +8,7 @@ Install `multipathd.service` provided by upstream, and add a dropin to support
(cherry picked from commit bb343fa83de4c73890e9054329249a1491733a5c)
Resolves: RHEL-109565
Resolves: RHEL-96106
---
modules.d/90multipath/module-setup.sh | 3 ++-
modules.d/90multipath/multipathd-dracut.conf | 2 ++

37
SOURCES/0098.patch Normal file
View File

@ -0,0 +1,37 @@
From 90d1ed6f5acf7ba916197db1c08bb2d0de4715bc Mon Sep 17 00:00:00 2001
From: Jo Zzsi <jozzsicsataban@gmail.com>
Date: Sun, 25 May 2025 16:16:40 -0400
Subject: [PATCH] fix(systemd): systemd.volatile needs overlayfs kernel module
See https://www.freedesktop.org/software/systemd/man/latest/systemd-volatile-root.service.html
> This service is only enabled if full volatile mode is selected,
> for example by specifying "systemd.volatile=yes" on the kernel command line.
> This service runs only in the initrd, before the system transitions to the host's root directory.
> Note that this service is not used if "systemd.volatile=state" is used, as in that mode the root
> directory is non-volatile.
Support for this systemd feature has been added in systemd v242 .
https://github.com/systemd/systemd/pull/11243
(cherry picked from commit 33f2e49d600294fb54620f029e10fd74de54bfa8)
Resolves: RHEL-94663
---
modules.d/00systemd/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/00systemd/module-setup.sh b/modules.d/00systemd/module-setup.sh
index 2d6fc9ff..658640ac 100755
--- a/modules.d/00systemd/module-setup.sh
+++ b/modules.d/00systemd/module-setup.sh
@@ -18,7 +18,7 @@ depends() {
installkernel() {
hostonly='' instmods autofs4 ipv6 algif_hash hmac sha256 sg
- instmods -s efivarfs
+ instmods -s efivarfs overlay
}
# called by dracut

45
SOURCES/0099.patch Normal file
View File

@ -0,0 +1,45 @@
From ba41a1864778fb949253d4492c8c5d553ef3badc Mon Sep 17 00:00:00 2001
From: Chris Riches <chris.riches@nutanix.com>
Date: Thu, 3 Jul 2025 13:42:09 +0000
Subject: [PATCH] refactor(dracut): introduce clamp_mtimes helper function
Avoid code duplication by introducing `clamp_mtimes`.
(cherry picked from commit b1f5842b36182d556f76d1bf9a023c74800b0880)
Related: RHEL-101901
---
dracut.sh | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index 43bc2ad0..d9f2ed83 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -2452,9 +2452,13 @@ if [[ $uefi == yes ]]; then
mkdir -p "$uefi_outdir"
fi
-if [[ $DRACUT_REPRODUCIBLE ]]; then
- find "$initdir" -newer "$dracutbasedir/dracut-functions.sh" -print0 \
+clamp_mtimes() {
+ find "$1" -newer "$dracutbasedir/dracut-functions.sh" -print0 \
| xargs -r -0 touch -h -m -c -r "$dracutbasedir/dracut-functions.sh"
+}
+
+if [[ $DRACUT_REPRODUCIBLE ]]; then
+ clamp_mtimes "$initdir"
if [[ "$(cpio --help)" == *--reproducible* ]]; then
CPIO_REPRODUCIBLE=1
@@ -2469,8 +2473,7 @@ if [[ $create_early_cpio == yes ]]; then
echo 1 > "$early_cpio_dir/d/early_cpio"
if [[ $DRACUT_REPRODUCIBLE ]]; then
- find "$early_cpio_dir/d" -newer "$dracutbasedir/dracut-functions.sh" -print0 \
- | xargs -r -0 touch -h -m -c -r "$dracutbasedir/dracut-functions.sh"
+ clamp_mtimes "$early_cpio_dir/d"
fi
# The microcode blob is _before_ the initramfs blob, not after

67
SOURCES/0100.patch Normal file
View File

@ -0,0 +1,67 @@
From 45c50b57bfc5b6675604f90e3f6ff65511ead59c Mon Sep 17 00:00:00 2001
From: Chris Riches <chris.riches@nutanix.com>
Date: Wed, 9 Jul 2025 16:40:18 +0000
Subject: [PATCH] fix(dracut): ensure hardlink deduplication is reproducible
By default, hardlink will only deduplicate files with identical mtimes,
down to one-second granularity. If a dracut module rapidly generates
multiple identical files, it is completely up to chance as to whether
their mtimes cross a second boundary or not, and thus whether they get
deduplicated or not. This results in non-reproducible output.
Re-order hardlink with respect to clamping to avoid this problem.
Fixes: https://issues.redhat.com/browse/RHEL-101901
(cherry picked from commit f779e439ec60eafcb400501d4741c755a95fdc86)
Resolves: RHEL-101901
---
dracut.sh | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index d9f2ed83..47adee2f 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -2245,12 +2245,6 @@ for ((i = 0; i < ${#include_src[@]}; i++)); do
fi
done
-if [[ $do_hardlink == yes ]] && command -v hardlink > /dev/null; then
- dinfo "*** Hardlinking files ***"
- hardlink "$initdir" 2>&1 | dinfo
- dinfo "*** Hardlinking files done ***"
-fi
-
# strip binaries
if [[ $do_strip == yes ]]; then
# Prefer strip from elfutils for package size
@@ -2453,7 +2447,7 @@ if [[ $uefi == yes ]]; then
fi
clamp_mtimes() {
- find "$1" -newer "$dracutbasedir/dracut-functions.sh" -print0 \
+ find "$@" -newer "$dracutbasedir/dracut-functions.sh" -print0 \
| xargs -r -0 touch -h -m -c -r "$dracutbasedir/dracut-functions.sh"
}
@@ -2467,6 +2461,19 @@ if [[ $DRACUT_REPRODUCIBLE ]]; then
fi
fi
+# Hardlink is mtime-sensitive; do it after the above clamp.
+if [[ $do_hardlink == yes ]] && command -v hardlink > /dev/null; then
+ dinfo "*** Hardlinking files ***"
+ hardlink "$initdir" 2>&1 | ddebug
+ dinfo "*** Hardlinking files done ***"
+
+ # Hardlink itself breaks mtimes on directories as we may have added/removed
+ # dir entries. Fix those up.
+ if [[ $DRACUT_REPRODUCIBLE ]]; then
+ clamp_mtimes "$initdir" -type d
+ fi
+fi
+
[[ $EUID != 0 ]] && cpio_owner="0:0"
if [[ $create_early_cpio == yes ]]; then

38
SOURCES/0101.patch Normal file
View File

@ -0,0 +1,38 @@
From f09dbb1a57b79e0a9dd4f02134b048ec6326ff78 Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Sun, 17 Aug 2025 03:47:43 +0200
Subject: [PATCH] fix(systemd): partial backport of
Author: Jo Zzsi <jozzsicsataban@gmail.com>
Date: Wed Apr 23 19:21:59 2025 -0400
fix: load more kernel modules in sloppy hostonly mode
When hostonly_mode is set to "sloppy" instmods consults the host for currently loaded kernel modules and
refuses to copy the Linux kernel module into the generated initramfs unless the kernel
module is already loaded on the host.
Let's set hostonly explicitly to a better default before calling instmods.
For compatibility, we should not change the default in the instmods function itself.
(cherry picked from commit de862885ec55bb19bfa3e3f1afd27577b7c5e309)
Resolves: RHEL-94663
---
modules.d/00systemd/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/00systemd/module-setup.sh b/modules.d/00systemd/module-setup.sh
index 658640ac..6f07f329 100755
--- a/modules.d/00systemd/module-setup.sh
+++ b/modules.d/00systemd/module-setup.sh
@@ -18,7 +18,7 @@ depends() {
installkernel() {
hostonly='' instmods autofs4 ipv6 algif_hash hmac sha256 sg
- instmods -s efivarfs overlay
+ hostonly=$(optional_hostonly) instmods -s efivarfs overlay
}
# called by dracut

View File

@ -1,54 +0,0 @@
From ae61b2c93a032c3e74950d6730d32363fed9621f Mon Sep 17 00:00:00 2001
From: Benjamin Marzinski <bmarzins@redhat.com>
Date: Thu, 24 Apr 2025 17:51:01 -0400
Subject: [PATCH] fix(multipath): disable user_friendly_names with mpathconf
If dracut is creating /etc/multipath.conf by calling mpathconf in either
multipathd-configure.service or multipathd.sh, there is a chance that
the multipath config in the real root differs. Specifically, it might
have chosen different user_friendly_names for the devices. When the
systems switches to the real root, multipath may not be able to switch
the devices to their configured names because those might already be
in use. To avoid this, call mpathconf with "--user_friendly_names n"
to create a multipath.conf with user_friendly_names disabled. If all
devices use WWID names, it is always possible for multipath to rename
them later.
Fixes b8a92b715 ("multipath: add automatic configuration for multipath")
(cherry picked from commit f36f2869859eb5f9613a94a28dfaf31505e645cc)
Resolves: RHEL-96101
---
modules.d/90multipath/multipathd-configure.service | 2 +-
modules.d/90multipath/multipathd.sh | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/modules.d/90multipath/multipathd-configure.service b/modules.d/90multipath/multipathd-configure.service
index de690615..6dedd9b9 100644
--- a/modules.d/90multipath/multipathd-configure.service
+++ b/modules.d/90multipath/multipathd-configure.service
@@ -13,7 +13,7 @@ ConditionPathExists=!/etc/multipath.conf
[Service]
Type=oneshot
ExecStartPre=-/usr/bin/mkdir -p /etc/multipath/multipath.conf.d
-ExecStart=/usr/sbin/mpathconf --enable
+ExecStart=/usr/sbin/mpathconf --enable --user_friendly_names n
[Install]
WantedBy=sysinit.target
diff --git a/modules.d/90multipath/multipathd.sh b/modules.d/90multipath/multipathd.sh
index 62649003..6b6b2666 100755
--- a/modules.d/90multipath/multipathd.sh
+++ b/modules.d/90multipath/multipathd.sh
@@ -2,7 +2,8 @@
if [ "$(getarg rd.multipath)" = "default" ] && [ ! -e /etc/multipath.conf ]; then
mkdir -p /etc/multipath/multipath.conf.d
- mpathconf --enable
+ mpathconf --enable --user_friendly_names n
+
fi
if getargbool 1 rd.multipath && [ -e /etc/multipath.conf ]; then

View File

@ -5,7 +5,7 @@
# strip the automatically generated dep here and instead co-own the
# directory.
%global __requires_exclude pkg-config
%define dist_free_release 89.git20250311
%define dist_free_release 102.git20250818
Name: dracut
Version: 057
@ -115,12 +115,19 @@ Patch83: 0083.patch
Patch84: 0084.patch
Patch85: 0085.patch
Patch86: 0086.patch
Patch87: 0087.patch
Patch88: 0088.patch
Patch89: 0089.patch
Patch90: 0090.patch
Patch93: 0093.patch
Patch94: 0094.patch
Patch95: 0095.patch
Patch96: 0096.patch
Patch97: 0097.patch
Patch102: 0102.patch
Patch98: 0098.patch
Patch99: 0099.patch
Patch100: 0100.patch
Patch101: 0101.patch
Source1: https://www.gnu.org/licenses/lgpl-2.1.txt
@ -577,14 +584,21 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
%{_prefix}/lib/kernel/install.d/51-dracut-rescue.install
%changelog
* Fri Sep 19 2025 Pavel Valena <pvalena@redhat.com> - 057-89.git20250311
* Mon Aug 18 2025 Pavel Valena <pvalena@redhat.com> - 057-102.git20250818
- fix(systemd): partial backport of
* Fri Aug 08 2025 Pavel Valena <pvalena@redhat.com> - 057-101.git20250808
- fix(systemd): add missing modprobe@.service
- fix: let check_vol_slaves_all return 1 when checks on all
- improvement(74nvmf): lookup required NIC kernel modules for
- fix(74nvmf): set root=nvmf
- chore(multipath): remove `rd_NO_MULTIPATH` kernel command
- refactor(multipath): remove custom multipathd.service
- fix(multipath): disable user_friendly_names with mpathconf
Resolves: RHEL-109565
Resolves: RHEL-96101
- fix(systemd): systemd.volatile needs overlayfs kernel module
- refactor(dracut): introduce clamp_mtimes helper function
- fix(dracut): ensure hardlink deduplication is reproducible
* Mon Jun 09 2025 Pavel Valena <pvalena@redhat.com> - 057-88.git20250311
* Mon Jun 09 2025 Pavel Valena <pvalena@redhat.com> - 057-90.git20250609
- fix(dracut.sh): don't pass empty string as dir
* Tue Mar 11 2025 Pavel Valena <pvalena@redhat.com> - 057-87.git20250311