]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
fix(iscsi): only rely on socket activiation
authorHarald Hoyer <harald@redhat.com>
Mon, 26 Apr 2021 08:05:06 +0000 (10:05 +0200)
committerHarald Hoyer <harald@hoyer.xyz>
Mon, 26 Apr 2021 09:12:31 +0000 (11:12 +0200)
Only rely on socket activation. This speeds up in case iscsi isn't used
and also prevents failures, where iscsiuio stopping somehow disables
iscsi.

modules.d/95iscsi/module-setup.sh

index fe730adc8daa9988ffc6c2759638d71e38157a36..16c99f7a402b33880becc288f02968c00604336d 100755 (executable)
@@ -235,21 +235,14 @@ install() {
             $SYSTEMCTL -q --root "$initdir" enable "$i"
         done
 
-        for i in \
-            iscsid.service \
-            iscsiuio.service; do
-            $SYSTEMCTL -q --root "$initdir" add-wants basic.target "$i"
-        done
-
-        # Make sure iscsid is started after dracut-cmdline and ready for the initqueue
         mkdir -p "${initdir}/$systemdsystemunitdir/iscsid.service.d"
         (
             echo "[Unit]"
-            echo "After=dracut-cmdline.service"
-            echo "Before=dracut-initqueue.service"
+            echo "DefaultDependencies=no"
+            echo "Conflicts=shutdown.target"
+            echo "Before=shutdown.target"
         ) > "${initdir}/$systemdsystemunitdir/iscsid.service.d/dracut.conf"
 
-        # The iscsi deamon does not need to wait for any storage inside initrd
         mkdir -p "${initdir}/$systemdsystemunitdir/iscsid.socket.d"
         (
             echo "[Unit]"
@@ -257,6 +250,15 @@ install() {
             echo "Conflicts=shutdown.target"
             echo "Before=shutdown.target sockets.target"
         ) > "${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"
+
         mkdir -p "${initdir}/$systemdsystemunitdir/iscsiuio.socket.d"
         (
             echo "[Unit]"