Harald Hoyer 99c743
From f0ac6cb462930010e4756df4ce1ce0f8aa60b08f Mon Sep 17 00:00:00 2001
Harald Hoyer 99c743
From: Hannes Reinecke <hare@suse.com>
Harald Hoyer 99c743
Date: Mon, 28 Sep 2020 13:39:07 +0200
Harald Hoyer 99c743
Subject: [PATCH] 95nvmf: Fixup FC connections
Harald Hoyer 99c743
Harald Hoyer 99c743
D-Bus doesn't run in the initrd, so our usual trick of activating
Harald Hoyer 99c743
custom systemd services from udev doesn't work.
Harald Hoyer 99c743
So add a rule to create initqueue entries for each possible
Harald Hoyer 99c743
connection.
Harald Hoyer 99c743
Harald Hoyer 99c743
Signed-off-by: Hannes Reinecke <hare@suse.de>
Harald Hoyer 99c743
---
Harald Hoyer 99c743
 modules.d/95nvmf/95-nvmf-initqueue.rules | 10 ++++++++++
Harald Hoyer 99c743
 modules.d/95nvmf/module-setup.sh         |  5 +----
Harald Hoyer 99c743
 2 files changed, 11 insertions(+), 4 deletions(-)
Harald Hoyer 99c743
Harald Hoyer 99c743
diff --git a/modules.d/95nvmf/95-nvmf-initqueue.rules b/modules.d/95nvmf/95-nvmf-initqueue.rules
Harald Hoyer 99c743
new file mode 100644
Harald Hoyer 99c743
index 00000000..d26d7b09
Harald Hoyer 99c743
--- /dev/null
Harald Hoyer 99c743
+++ b/modules.d/95nvmf/95-nvmf-initqueue.rules
Harald Hoyer 99c743
@@ -0,0 +1,10 @@
Harald Hoyer 99c743
+#
Harald Hoyer 99c743
+# nvmf-initqueue.rules
Harald Hoyer 99c743
+#
Harald Hoyer 99c743
+# D-Bus doesn't run in the initrd, which means that we cannot use our
Harald Hoyer 99c743
+# usual trick of starting custom systemd services.
Harald Hoyer 99c743
+# So use a rule to create initqueue entries instead.
Harald Hoyer 99c743
+
Harald Hoyer 99c743
+ACTION=="change", SUBSYSTEM=="fc", ENV{FC_EVENT}=="nvmediscovery", \
Harald Hoyer 99c743
+      ENV{NVMEFC_HOST_TRADDR}=="*", ENV{NVMEFC_TRADDR}=="*", \
Harald Hoyer 99c743
+      RUN+="/sbin/initqueue --onetime --unique --name nvmf-connect-$env{NVMEFC_TRADDR}-$env{NVMEFC_HOST_TRADDR} /usr/sbin/nvme connect-all --transport=fc --traddr=$env{NVMEFC_TRADDR} --host-traddr=$env{NVMEFC_HOST_TRADDR}"
Harald Hoyer 99c743
diff --git a/modules.d/95nvmf/module-setup.sh b/modules.d/95nvmf/module-setup.sh
Harald Hoyer 99c743
index 92400c21..501ba8dd 100755
Harald Hoyer 99c743
--- a/modules.d/95nvmf/module-setup.sh
Harald Hoyer 99c743
+++ b/modules.d/95nvmf/module-setup.sh
Harald Hoyer 99c743
@@ -110,12 +110,9 @@ install() {
Harald Hoyer 99c743
     inst_multiple ip sed
Harald Hoyer 99c743
 
Harald Hoyer 99c743
     inst_multiple nvme
Harald Hoyer 99c743
-    inst_multiple -o \
Harald Hoyer 99c743
-        "$systemdsystemunitdir/nvm*-connect@.service" \
Harald Hoyer 99c743
-        "$systemdsystemunitdir/nvm*-connect.target"
Harald Hoyer 99c743
     inst_hook cmdline 99 "$moddir/parse-nvmf-boot-connections.sh"
Harald Hoyer 99c743
     inst_simple "/etc/nvme/discovery.conf"
Harald Hoyer 99c743
-    inst_rules /usr/lib/udev/rules.d/70-nvm*-autoconnect.rules
Harald Hoyer 99c743
     inst_rules /usr/lib/udev/rules.d/71-nvmf-iopolicy-netapp.rules
Harald Hoyer 99c743
+    inst_rules "$moddir/95-nvmf-initqueue.rules"
Harald Hoyer 99c743
     dracut_need_initqueue
Harald Hoyer 99c743
 }
Harald Hoyer 99c743