From: Harald Hoyer Date: Mon, 26 Apr 2021 12:10:37 +0000 (+0200) Subject: fix(iscsi): add iscsid.service requirements X-Git-Tag: 054~76 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bb6770f1a413bdc7fd570b260ee28ace1255a195;p=thirdparty%2Fdracut.git fix(iscsi): add iscsid.service requirements Since Fedora 34, iscsid.service requires: - iscsi-init.service - iscsi-shutdown.service - a non-empty /var/lib/iscsi/nodes/.dracut --- diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh index 16c99f7a4..88d6c92ba 100755 --- a/modules.d/95iscsi/module-setup.sh +++ b/modules.d/95iscsi/module-setup.sh @@ -223,6 +223,7 @@ install() { else inst_multiple -o \ "$systemdsystemunitdir"/iscsi.service \ + "$systemdsystemunitdir"/iscsi-init.service \ "$systemdsystemunitdir"/iscsid.service \ "$systemdsystemunitdir"/iscsid.socket \ "$systemdsystemunitdir"/iscsiuio.service \ @@ -236,38 +237,57 @@ install() { done mkdir -p "${initdir}/$systemdsystemunitdir/iscsid.service.d" - ( + { echo "[Unit]" echo "DefaultDependencies=no" echo "Conflicts=shutdown.target" echo "Before=shutdown.target" - ) > "${initdir}/$systemdsystemunitdir/iscsid.service.d/dracut.conf" + } > "${initdir}/$systemdsystemunitdir/iscsid.service.d/dracut.conf" mkdir -p "${initdir}/$systemdsystemunitdir/iscsid.socket.d" - ( + { echo "[Unit]" echo "DefaultDependencies=no" echo "Conflicts=shutdown.target" echo "Before=shutdown.target sockets.target" - ) > "${initdir}/$systemdsystemunitdir/iscsid.socket.d/dracut.conf" + } > "${initdir}/$systemdsystemunitdir/iscsid.socket.d/dracut.conf" mkdir -p "${initdir}/$systemdsystemunitdir/iscsiuio.service.d" - ( + { echo "[Unit]" echo "DefaultDependencies=no" echo "Conflicts=shutdown.target" echo "Before=shutdown.target" - ) > "${initdir}/$systemdsystemunitdir/iscsiuio.service.d/dracut.conf" + } > "${initdir}/$systemdsystemunitdir/iscsiuio.service.d/dracut.conf" mkdir -p "${initdir}/$systemdsystemunitdir/iscsiuio.socket.d" - ( + { echo "[Unit]" echo "DefaultDependencies=no" echo "Conflicts=shutdown.target" echo "Before=shutdown.target sockets.target" - ) > "${initdir}/$systemdsystemunitdir/iscsiuio.socket.d/dracut.conf" - + } > "${initdir}/$systemdsystemunitdir/iscsiuio.socket.d/dracut.conf" + + # Fedora 34 iscsid requires iscsi-shutdown.service + # which would terminate all iSCSI connections on switch root + cat > "${initdir}/$systemdsystemunitdir/iscsi-shutdown.service" << EOF +[Unit] +Description=Dummy iscsi-shutdown.service for the initrd +Documentation=man:iscsid(8) man:iscsiadm(8) +DefaultDependencies=no +Conflicts=shutdown.target +After=systemd-remount-fs.service network.target iscsid.service iscsiuio.service +Before=remote-fs-pre.target + +[Service] +Type=oneshot +RemainAfterExit=false +ExecStart=-/usr/bin/true +EOF fi inst_dir /var/lib/iscsi + mkdir -p "${initdir}/var/lib/iscsi/nodes" + # Fedora 34 iscsid wants a non-empty /var/lib/iscsi/nodes directory + : > "${initdir}/var/lib/iscsi/nodes/.dracut" dracut_need_initqueue }