import dracut-049-218.git20221019.el8_7
This commit is contained in:
parent
cbd9e20e57
commit
4671964ed1
66
SOURCES/0209.patch
Normal file
66
SOURCES/0209.patch
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
From 7e148e3b6f922e5eb1dcb7fc3c1fed715004e2ab Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lee Duncan <lduncan@suse.com>
|
||||||
|
Date: Mon, 25 Mar 2019 16:49:19 -0700
|
||||||
|
Subject: [PATCH] Dracut: only login to one target at a time
|
||||||
|
|
||||||
|
For handling the configuration where there are two
|
||||||
|
paths to an iscsi root target, each using a different
|
||||||
|
NIC. In such a case, the initramfs was trying to configure
|
||||||
|
the first NIC, then call iscsiroot to login to both targets,
|
||||||
|
which would fail for the 2nd target, since the path to the
|
||||||
|
2nd target was not yet configured. This would eventually
|
||||||
|
work after a timeout. But it's better to login to just
|
||||||
|
one target at a time.
|
||||||
|
This change makes the initramfs handle multiple paths to an
|
||||||
|
iscsi target better by logging into only one target at a time,
|
||||||
|
rather than trying to login to all targets when only one of
|
||||||
|
several NICs is up.
|
||||||
|
|
||||||
|
This can be further optimized by using the initrd parameter
|
||||||
|
"rd.iscsi.testroute", which would skip iscsiadm login attempts
|
||||||
|
for targets to which no route exists.
|
||||||
|
|
||||||
|
If the script is called again via the timeout initqueue,
|
||||||
|
we try "iscsiadm -L onboot" again, hoping that some targets
|
||||||
|
may now have become reachable.
|
||||||
|
---
|
||||||
|
modules.d/95iscsi/iscsiroot.sh | 12 +++++++++---
|
||||||
|
1 file changed, 9 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
|
||||||
|
index 4efc1d12..f3f88259 100755
|
||||||
|
--- a/modules.d/95iscsi/iscsiroot.sh
|
||||||
|
+++ b/modules.d/95iscsi/iscsiroot.sh
|
||||||
|
@@ -228,7 +228,7 @@ handle_netroot()
|
||||||
|
fi
|
||||||
|
[ -n "$iscsi_param" ] && for param in $iscsi_param; do EXTRA="$EXTRA --name=${param%=*} --value=${param#*=}"; done
|
||||||
|
|
||||||
|
- iscsiadm -m node -T $target \
|
||||||
|
+ CMD="iscsiadm -m node -T $target \
|
||||||
|
${iscsi_iface_name:+-I $iscsi_iface_name} \
|
||||||
|
-p $iscsi_target_ip${iscsi_target_port:+:$iscsi_target_port} \
|
||||||
|
--op=update \
|
||||||
|
@@ -238,14 +238,20 @@ handle_netroot()
|
||||||
|
${iscsi_in_username:+--name=node.session.auth.username_in --value=$iscsi_in_username} \
|
||||||
|
${iscsi_in_password:+--name=node.session.auth.password_in --value=$iscsi_in_password} \
|
||||||
|
$EXTRA \
|
||||||
|
- $NULL
|
||||||
|
+ $NULL"
|
||||||
|
+ $CMD
|
||||||
|
+ if [ "$netif" != "timeout" ]; then
|
||||||
|
+ $CMD --login
|
||||||
|
+ fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
- iscsiadm -m node -L onboot || :
|
||||||
|
+ if [ "$netif" = "timeout" ]; then
|
||||||
|
+ iscsiadm -m node -L onboot || :
|
||||||
|
+ fi
|
||||||
|
> $hookdir/initqueue/work
|
||||||
|
|
||||||
|
netroot_enc=$(str_replace "$1" '/' '\2f')
|
||||||
|
|
39
SOURCES/0210.patch
Normal file
39
SOURCES/0210.patch
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
From 96fc660c9170fbea5ac80235ab7d0e7cfdbe243e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Wilck <mwilck@suse.de>
|
||||||
|
Date: Thu, 21 Mar 2019 16:27:04 +0100
|
||||||
|
Subject: [PATCH] iscsi: don't continue waiting if the root device is present
|
||||||
|
|
||||||
|
dracut waits for every iscsiroot connection to be established
|
||||||
|
before switching root. This is not necessary in multipath scenarios,
|
||||||
|
where a single path is usually sufficient to set up the root device,
|
||||||
|
and where users expect booting to succeed unless all paths are down.
|
||||||
|
|
||||||
|
Don't wait for the iscsi portal to start if the root device has
|
||||||
|
already been found.
|
||||||
|
---
|
||||||
|
modules.d/95iscsi/parse-iscsiroot.sh | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh
|
||||||
|
index f00a83bb..8d6e3e8c 100755
|
||||||
|
--- a/modules.d/95iscsi/parse-iscsiroot.sh
|
||||||
|
+++ b/modules.d/95iscsi/parse-iscsiroot.sh
|
||||||
|
@@ -84,7 +84,7 @@ if [ -n "$iscsi_firmware" ]; then
|
||||||
|
modprobe -b -q iscsi_boot_sysfs 2>/dev/null
|
||||||
|
modprobe -b -q iscsi_ibft
|
||||||
|
# if no ip= is given, but firmware
|
||||||
|
- echo "[ -f '/tmp/iscsistarted-firmware' ]" > $hookdir/initqueue/finished/iscsi_started.sh
|
||||||
|
+ echo "${DRACUT_SYSTEMD+systemctl is-active initrd-root-device.target || }[ -f '/tmp/iscsistarted-firmware' ]" > $hookdir/initqueue/finished/iscsi_started.sh
|
||||||
|
initqueue --unique --online /sbin/iscsiroot online "iscsi:" "$NEWROOT"
|
||||||
|
initqueue --unique --onetime --timeout /sbin/iscsiroot timeout "iscsi:" "$NEWROOT"
|
||||||
|
initqueue --unique --onetime --settled /sbin/iscsiroot online "iscsi:" "'$NEWROOT'"
|
||||||
|
@@ -145,7 +145,7 @@ for nroot in $(getargs netroot); do
|
||||||
|
type parse_iscsi_root >/dev/null 2>&1 || . /lib/net-lib.sh
|
||||||
|
parse_iscsi_root "$nroot" || return 1
|
||||||
|
netroot_enc=$(str_replace "$nroot" '/' '\2f')
|
||||||
|
- echo "[ -f '/tmp/iscsistarted-$netroot_enc' ]" > $hookdir/initqueue/finished/iscsi_started.sh
|
||||||
|
+ echo "${DRACUT_SYSTEMD+systemctl is-active initrd-root-device.target || }[ -f '/tmp/iscsistarted-$netroot_enc' ]" > $hookdir/initqueue/finished/iscsi_started.sh
|
||||||
|
done
|
||||||
|
|
||||||
|
# Done, all good!
|
||||||
|
|
24
SOURCES/0211.patch
Normal file
24
SOURCES/0211.patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
From 5e06ab6cc6398fb82b8cd1dbc8da9969d874bb75 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Wilck <mwilck@suse.de>
|
||||||
|
Date: Thu, 21 Mar 2019 21:31:15 +0100
|
||||||
|
Subject: [PATCH] network: stop waiting for interfaces if root device is
|
||||||
|
present
|
||||||
|
|
||||||
|
---
|
||||||
|
modules.d/35network-legacy/net-genrules.sh | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/modules.d/35network-legacy/net-genrules.sh b/modules.d/35network-legacy/net-genrules.sh
|
||||||
|
index e6035e5e..0d4ef27b 100755
|
||||||
|
--- a/modules.d/35network-legacy/net-genrules.sh
|
||||||
|
+++ b/modules.d/35network-legacy/net-genrules.sh
|
||||||
|
@@ -96,7 +96,7 @@ command -v fix_bootif >/dev/null || . /lib/net-lib.sh
|
||||||
|
|
||||||
|
for iface in $IFACES; do
|
||||||
|
if [ "$bootdev" = "$iface" ] || [ "$NEEDNET" = "1" ]; then
|
||||||
|
- echo "[ -f /tmp/net.${iface}.did-setup ]" >$hookdir/initqueue/finished/wait-$iface.sh
|
||||||
|
+ echo "${DRACUT_SYSTEMD+systemctl is-active initrd-root-device.target || }[ -f /tmp/net.${iface}.did-setup ]" >$hookdir/initqueue/finished/wait-$iface.sh
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
# Default: We don't know the interface to use, handle all
|
||||||
|
|
39
SOURCES/0212.patch
Normal file
39
SOURCES/0212.patch
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
From 032129d0eb47d08eff7bd8b4c82a835a8929e9d3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Wilck <mwilck@suse.de>
|
||||||
|
Date: Thu, 4 Apr 2019 15:29:04 +0200
|
||||||
|
Subject: [PATCH] iscsiroot: parse_iscsi_root overwrites command line args
|
||||||
|
|
||||||
|
iscsi_target_name, iscsi_target_ip, iscsi_target_port are
|
||||||
|
unconditionally overwritten by parse_iscsi_root. Don't set
|
||||||
|
them here, for code clarity.
|
||||||
|
---
|
||||||
|
modules.d/95iscsi/iscsiroot.sh | 8 ++------
|
||||||
|
1 file changed, 2 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
|
||||||
|
index f3f88259..45db89c1 100755
|
||||||
|
--- a/modules.d/95iscsi/iscsiroot.sh
|
||||||
|
+++ b/modules.d/95iscsi/iscsiroot.sh
|
||||||
|
@@ -92,12 +92,6 @@ handle_netroot()
|
||||||
|
# override conf settings by command line options
|
||||||
|
arg=$(getarg rd.iscsi.initiator -d iscsi_initiator=)
|
||||||
|
[ -n "$arg" ] && iscsi_initiator=$arg
|
||||||
|
- arg=$(getargs rd.iscsi.target.name -d iscsi_target_name=)
|
||||||
|
- [ -n "$arg" ] && iscsi_target_name=$arg
|
||||||
|
- arg=$(getarg rd.iscsi.target.ip -d iscsi_target_ip)
|
||||||
|
- [ -n "$arg" ] && iscsi_target_ip=$arg
|
||||||
|
- arg=$(getarg rd.iscsi.target.port -d iscsi_target_port=)
|
||||||
|
- [ -n "$arg" ] && iscsi_target_port=$arg
|
||||||
|
arg=$(getarg rd.iscsi.target.group -d iscsi_target_group=)
|
||||||
|
[ -n "$arg" ] && iscsi_target_group=$arg
|
||||||
|
arg=$(getarg rd.iscsi.username -d iscsi_username=)
|
||||||
|
@@ -112,6 +106,8 @@ handle_netroot()
|
||||||
|
iscsi_param="$iscsi_param $p"
|
||||||
|
done
|
||||||
|
|
||||||
|
+ # this sets iscsi_target_name and possibly overwrites most
|
||||||
|
+ # parameters read from the command line above
|
||||||
|
parse_iscsi_root "$1" || return 1
|
||||||
|
|
||||||
|
# Bail out early, if there is no route to the destination
|
||||||
|
|
42
SOURCES/0213.patch
Normal file
42
SOURCES/0213.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
From a590dfb3670a68b9eebc3e0ea617c5cf192c51ae Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Wilck <mwilck@suse.de>
|
||||||
|
Date: Thu, 4 Apr 2019 15:40:14 +0200
|
||||||
|
Subject: [PATCH] iscsiroot: there's never more than one target per call
|
||||||
|
|
||||||
|
iscsi_target_name is set by iscsi_root, and thus can't have
|
||||||
|
more than one member. This allows us to get rid of one bashism
|
||||||
|
in iscsiroot.sh.
|
||||||
|
---
|
||||||
|
modules.d/95iscsi/iscsiroot.sh | 11 +++--------
|
||||||
|
1 file changed, 3 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
|
||||||
|
index 45db89c1..a334b76e 100755
|
||||||
|
--- a/modules.d/95iscsi/iscsiroot.sh
|
||||||
|
+++ b/modules.d/95iscsi/iscsiroot.sh
|
||||||
|
@@ -213,10 +213,8 @@ handle_netroot()
|
||||||
|
targets=$(iscsiadm -m discovery -t st -p $iscsi_target_ip:${iscsi_target_port:+$iscsi_target_port} | sed 's/^.*iqn/iqn/')
|
||||||
|
[ -z "$targets" ] && echo "Target discovery to $iscsi_target_ip:${iscsi_target_port:+$iscsi_target_port} failed with status $?" && exit 1
|
||||||
|
|
||||||
|
- for target in $iscsi_target_name; do
|
||||||
|
- case "$targets" in
|
||||||
|
- *$target*)
|
||||||
|
- EXTRA=""
|
||||||
|
+ for target in $targets; do
|
||||||
|
+ if [ "$target" = "$iscsi_target_name" ]; then
|
||||||
|
if [ -n "$iscsi_iface_name" ]; then
|
||||||
|
iscsiadm -m iface -I $iscsi_iface_name --op=new
|
||||||
|
EXTRA=" ${iscsi_netdev_name:+--name=iface.net_ifacename --value=$iscsi_netdev_name} "
|
||||||
|
@@ -239,10 +237,7 @@ handle_netroot()
|
||||||
|
if [ "$netif" != "timeout" ]; then
|
||||||
|
$CMD --login
|
||||||
|
fi
|
||||||
|
- ;;
|
||||||
|
- *)
|
||||||
|
- ;;
|
||||||
|
- esac
|
||||||
|
+ fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$netif" = "timeout" ]; then
|
||||||
|
|
55
SOURCES/0214.patch
Normal file
55
SOURCES/0214.patch
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
From 261d278332e0af85a0311a75d7b81c6cf35e4816 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Wilck <mwilck@suse.de>
|
||||||
|
Date: Thu, 4 Apr 2019 16:16:40 +0200
|
||||||
|
Subject: [PATCH] iscsiroot: try targets only once
|
||||||
|
|
||||||
|
In multipath scenarios, "iscsiadm -m node" may contain
|
||||||
|
several records with the same target.
|
||||||
|
There's no point in trying "iscsiadm --login" multiple
|
||||||
|
time for the same target, through the same portal.
|
||||||
|
|
||||||
|
Moreover, warn if the desired target is not on the node
|
||||||
|
list.
|
||||||
|
---
|
||||||
|
modules.d/95iscsi/iscsiroot.sh | 8 +++++++-
|
||||||
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
|
||||||
|
index a334b76e..e8e0b4b8 100755
|
||||||
|
--- a/modules.d/95iscsi/iscsiroot.sh
|
||||||
|
+++ b/modules.d/95iscsi/iscsiroot.sh
|
||||||
|
@@ -87,7 +87,7 @@ handle_netroot()
|
||||||
|
local iscsi_in_username iscsi_in_password
|
||||||
|
local iscsi_iface_name iscsi_netdev_name
|
||||||
|
local iscsi_param param
|
||||||
|
- local p
|
||||||
|
+ local p found
|
||||||
|
|
||||||
|
# override conf settings by command line options
|
||||||
|
arg=$(getarg rd.iscsi.initiator -d iscsi_initiator=)
|
||||||
|
@@ -213,6 +213,7 @@ handle_netroot()
|
||||||
|
targets=$(iscsiadm -m discovery -t st -p $iscsi_target_ip:${iscsi_target_port:+$iscsi_target_port} | sed 's/^.*iqn/iqn/')
|
||||||
|
[ -z "$targets" ] && echo "Target discovery to $iscsi_target_ip:${iscsi_target_port:+$iscsi_target_port} failed with status $?" && exit 1
|
||||||
|
|
||||||
|
+ found=
|
||||||
|
for target in $targets; do
|
||||||
|
if [ "$target" = "$iscsi_target_name" ]; then
|
||||||
|
if [ -n "$iscsi_iface_name" ]; then
|
||||||
|
@@ -237,11 +238,16 @@ handle_netroot()
|
||||||
|
if [ "$netif" != "timeout" ]; then
|
||||||
|
$CMD --login
|
||||||
|
fi
|
||||||
|
+ found=yes
|
||||||
|
+ break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$netif" = "timeout" ]; then
|
||||||
|
iscsiadm -m node -L onboot || :
|
||||||
|
+ elif [ "$found" != yes ]; then
|
||||||
|
+ warn "iSCSI target \"$iscsi_target_name\" not found on portal $iscsi_target_ip:$iscsi_target_port"
|
||||||
|
+ return 1
|
||||||
|
fi
|
||||||
|
> $hookdir/initqueue/work
|
||||||
|
|
||||||
|
|
77
SOURCES/0215.patch
Normal file
77
SOURCES/0215.patch
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
From 0df65c3c001fb5656838274b172c247c41dc0442 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Wilck <mwilck@suse.de>
|
||||||
|
Date: Thu, 4 Apr 2019 17:12:07 +0200
|
||||||
|
Subject: [PATCH] iscsiroot: remove bashisms
|
||||||
|
|
||||||
|
According to the dracut README, module code to be run in
|
||||||
|
the initrd must be POSIX-compliant. Replace remaining
|
||||||
|
bashisms (as reported by checkbashisms) with POSIX compliant
|
||||||
|
code.
|
||||||
|
|
||||||
|
The use of "type" is not strictly POSIX compliant, but it's
|
||||||
|
all over the place in dracut code. dash supports it, anyway.
|
||||||
|
---
|
||||||
|
modules.d/95iscsi/iscsiroot.sh | 26 +++++++++++++-------------
|
||||||
|
1 file changed, 13 insertions(+), 13 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
|
||||||
|
index e8e0b4b8..4ab0b6a0 100755
|
||||||
|
--- a/modules.d/95iscsi/iscsiroot.sh
|
||||||
|
+++ b/modules.d/95iscsi/iscsiroot.sh
|
||||||
|
@@ -54,11 +54,11 @@ handle_firmware()
|
||||||
|
if ! iscsiadm -m fw; then
|
||||||
|
warn "iscsiadm: Could not get list of targets from firmware."
|
||||||
|
else
|
||||||
|
- ifaces=( $(echo /sys/firmware/ibft/ethernet*) )
|
||||||
|
+ ifaces=$(set -- /sys/firmware/ibft/ethernet*; echo $#)
|
||||||
|
retry=$(cat /tmp/session-retry)
|
||||||
|
|
||||||
|
- if [ $retry -lt ${#ifaces[*]} ]; then
|
||||||
|
- let retry++
|
||||||
|
+ if [ $retry -lt $ifaces ]; then
|
||||||
|
+ retry=$((retry+1))
|
||||||
|
echo $retry > /tmp/session-retry
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
@@ -88,6 +88,7 @@ handle_netroot()
|
||||||
|
local iscsi_iface_name iscsi_netdev_name
|
||||||
|
local iscsi_param param
|
||||||
|
local p found
|
||||||
|
+ local login_retry_max_seen=
|
||||||
|
|
||||||
|
# override conf settings by command line options
|
||||||
|
arg=$(getarg rd.iscsi.initiator -d iscsi_initiator=)
|
||||||
|
@@ -103,7 +104,9 @@ handle_netroot()
|
||||||
|
arg=$(getarg rd.iscsi.in.password -d iscsi_in_password=)
|
||||||
|
[ -n "$arg" ] && iscsi_in_password=$arg
|
||||||
|
for p in $(getargs rd.iscsi.param -d iscsi_param); do
|
||||||
|
- iscsi_param="$iscsi_param $p"
|
||||||
|
+ [ "${p%=*}" = node.session.initial_login_retry_max ] && \
|
||||||
|
+ login_retry_max_seen=yes
|
||||||
|
+ iscsi_param="$iscsi_param $p"
|
||||||
|
done
|
||||||
|
|
||||||
|
# this sets iscsi_target_name and possibly overwrites most
|
||||||
|
@@ -116,15 +119,12 @@ handle_netroot()
|
||||||
|
fi
|
||||||
|
|
||||||
|
#limit iscsistart login retries
|
||||||
|
- case "$iscsi_param" in
|
||||||
|
- *node.session.initial_login_retry_max*) ;;
|
||||||
|
- *)
|
||||||
|
- retries=$(getargnum 3 0 10000 rd.iscsi.login_retry_max)
|
||||||
|
- if [ $retries -gt 0 ]; then
|
||||||
|
- iscsi_param="${iscsi_param% } node.session.initial_login_retry_max=$retries"
|
||||||
|
- fi
|
||||||
|
- ;;
|
||||||
|
- esac
|
||||||
|
+ if [ "$login_retry_max_seen" != yes ]; then
|
||||||
|
+ retries=$(getargnum 3 0 10000 rd.iscsi.login_retry_max)
|
||||||
|
+ if [ $retries -gt 0 ]; then
|
||||||
|
+ iscsi_param="${iscsi_param% } node.session.initial_login_retry_max=$retries"
|
||||||
|
+ fi
|
||||||
|
+ fi
|
||||||
|
|
||||||
|
# XXX is this needed?
|
||||||
|
getarg ro && iscsirw=ro
|
||||||
|
|
44
SOURCES/0216.patch
Normal file
44
SOURCES/0216.patch
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
From ee0bba8d350920b8beb4c0629262ec359983ad65 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Wilck <mwilck@suse.de>
|
||||||
|
Date: Tue, 1 Oct 2019 12:02:04 +0200
|
||||||
|
Subject: [PATCH] fixup "Dracut: only login to one target at a time"
|
||||||
|
|
||||||
|
On SLE15-SP1 at least, iscsiadm doesn't support combining --op and --login":
|
||||||
|
|
||||||
|
> # iscsiadm -m node -T iqn.2018-06.de.suse.zeus:01 --op=update --name=node.startup --value=onboot --login
|
||||||
|
> iscsiadm: Invalid parameters. Login/logout and op passed in
|
||||||
|
|
||||||
|
This breaks iSCSI login in initrd, and thus, iSCSI boot.
|
||||||
|
|
||||||
|
Fix it by not coalescing everything into a single iscsiadm command.
|
||||||
|
Fixes: a59b776bc215 ("Dracut: only login to one target at a time")
|
||||||
|
References: bsc#1152650
|
||||||
|
---
|
||||||
|
modules.d/95iscsi/iscsiroot.sh | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
|
||||||
|
index 4ab0b6a0..6a12a108 100755
|
||||||
|
--- a/modules.d/95iscsi/iscsiroot.sh
|
||||||
|
+++ b/modules.d/95iscsi/iscsiroot.sh
|
||||||
|
@@ -225,8 +225,8 @@ handle_netroot()
|
||||||
|
|
||||||
|
CMD="iscsiadm -m node -T $target \
|
||||||
|
${iscsi_iface_name:+-I $iscsi_iface_name} \
|
||||||
|
- -p $iscsi_target_ip${iscsi_target_port:+:$iscsi_target_port} \
|
||||||
|
- --op=update \
|
||||||
|
+ -p $iscsi_target_ip${iscsi_target_port:+:$iscsi_target_port}"
|
||||||
|
+ __op="--op=update \
|
||||||
|
--name=node.startup --value=onboot \
|
||||||
|
${iscsi_username:+ --name=node.session.auth.username --value=$iscsi_username} \
|
||||||
|
${iscsi_password:+ --name=node.session.auth.password --value=$iscsi_password} \
|
||||||
|
@@ -234,7 +234,7 @@ handle_netroot()
|
||||||
|
${iscsi_in_password:+--name=node.session.auth.password_in --value=$iscsi_in_password} \
|
||||||
|
$EXTRA \
|
||||||
|
$NULL"
|
||||||
|
- $CMD
|
||||||
|
+ $CMD $__op
|
||||||
|
if [ "$netif" != "timeout" ]; then
|
||||||
|
$CMD --login
|
||||||
|
fi
|
||||||
|
|
37
SOURCES/0217.patch
Normal file
37
SOURCES/0217.patch
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
From 934e69b64f4eff5df84d0d94a39aca1933bf3419 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Wilck <mwilck@suse.de>
|
||||||
|
Date: Fri, 27 Sep 2019 13:26:10 +0200
|
||||||
|
Subject: [PATCH] 35network-legacy: only skip waiting for interfaces if netroot
|
||||||
|
is set
|
||||||
|
|
||||||
|
Commmit 8a33e52e2f94 assumes that dracut's work is done if a root device
|
||||||
|
is found. This holds usually for booting computers, but it may be wrong
|
||||||
|
for other environments.
|
||||||
|
|
||||||
|
Only short-cut the waiting if $netroot is also set.
|
||||||
|
|
||||||
|
Fixes: 8a33e52e2f94 ("network: stop waiting for interfaces if root device is present")
|
||||||
|
References: bsc#1152006
|
||||||
|
|
||||||
|
Resolves: rhbz#2115199
|
||||||
|
---
|
||||||
|
modules.d/35network-legacy/net-genrules.sh | 6 +++++-
|
||||||
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/modules.d/35network-legacy/net-genrules.sh b/modules.d/35network-legacy/net-genrules.sh
|
||||||
|
index 0d4ef27b..d531bb56 100755
|
||||||
|
--- a/modules.d/35network-legacy/net-genrules.sh
|
||||||
|
+++ b/modules.d/35network-legacy/net-genrules.sh
|
||||||
|
@@ -96,7 +96,11 @@ command -v fix_bootif >/dev/null || . /lib/net-lib.sh
|
||||||
|
|
||||||
|
for iface in $IFACES; do
|
||||||
|
if [ "$bootdev" = "$iface" ] || [ "$NEEDNET" = "1" ]; then
|
||||||
|
- echo "${DRACUT_SYSTEMD+systemctl is-active initrd-root-device.target || }[ -f /tmp/net.${iface}.did-setup ]" >$hookdir/initqueue/finished/wait-$iface.sh
|
||||||
|
+ if [ -n "$netroot" ] && [ -n "$DRACUT_SYSTEMD" ]; then
|
||||||
|
+ echo "systemctl is-active initrd-root-device.target || [ -f /tmp/net.${iface}.did-setup ]"
|
||||||
|
+ else
|
||||||
|
+ echo "[ -f /tmp/net.${iface}.did-setup ]"
|
||||||
|
+ fi >$hookdir/initqueue/finished/wait-$iface.sh
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
# Default: We don't know the interface to use, handle all
|
@ -5,7 +5,7 @@
|
|||||||
# strip the automatically generated dep here and instead co-own the
|
# strip the automatically generated dep here and instead co-own the
|
||||||
# directory.
|
# directory.
|
||||||
%global __requires_exclude pkg-config
|
%global __requires_exclude pkg-config
|
||||||
%define dist_free_release 209.git20220815
|
%define dist_free_release 218.git20221019
|
||||||
|
|
||||||
Name: dracut
|
Name: dracut
|
||||||
Version: 049
|
Version: 049
|
||||||
@ -236,6 +236,15 @@ Patch205: 0205.patch
|
|||||||
Patch206: 0206.patch
|
Patch206: 0206.patch
|
||||||
Patch207: 0207.patch
|
Patch207: 0207.patch
|
||||||
Patch208: 0208.patch
|
Patch208: 0208.patch
|
||||||
|
Patch209: 0209.patch
|
||||||
|
Patch210: 0210.patch
|
||||||
|
Patch211: 0211.patch
|
||||||
|
Patch212: 0212.patch
|
||||||
|
Patch213: 0213.patch
|
||||||
|
Patch214: 0214.patch
|
||||||
|
Patch215: 0215.patch
|
||||||
|
Patch216: 0216.patch
|
||||||
|
Patch217: 0217.patch
|
||||||
|
|
||||||
Source1: https://www.gnu.org/licenses/lgpl-2.1.txt
|
Source1: https://www.gnu.org/licenses/lgpl-2.1.txt
|
||||||
|
|
||||||
@ -690,6 +699,17 @@ echo '# Since rhel-8.3 dracut moved to use NetworkManager
|
|||||||
add_dracutmodules+=" network-legacy "' > /etc/dracut.conf.d/50-network-legacy.conf
|
add_dracutmodules+=" network-legacy "' > /etc/dracut.conf.d/50-network-legacy.conf
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Oct 20 2022 Pavel Valena <pvalena@redhat.com> - 049-218.git20221019
|
||||||
|
- Dracut: only login to one target at a time
|
||||||
|
- iscsi: don't continue waiting if the root device is present
|
||||||
|
- network: stop waiting for interfaces if root device is
|
||||||
|
- iscsiroot: parse_iscsi_root overwrites command line args
|
||||||
|
- iscsiroot: there's never more than one target per call
|
||||||
|
- iscsiroot: try targets only once
|
||||||
|
- iscsiroot: remove bashisms
|
||||||
|
- fixup "Dracut: only login to one target at a time"
|
||||||
|
- 35network-legacy: only skip waiting for interfaces if netroot
|
||||||
|
|
||||||
* Mon Aug 15 2022 Pavel Valena <pvalena@redhat.com> - 049-209.git20220815
|
* Mon Aug 15 2022 Pavel Valena <pvalena@redhat.com> - 049-209.git20220815
|
||||||
- fix(95iscsi): Fix network setup
|
- fix(95iscsi): Fix network setup
|
||||||
- fix(dracut-systemd): correct service dependencies
|
- fix(dracut-systemd): correct service dependencies
|
||||||
|
Loading…
Reference in New Issue
Block a user