95nvmf: Fixup FC connections

D-Bus doesn't run in the initrd, so our usual trick of activating
custom systemd services from udev doesn't work.
So add a rule to create initqueue entries for each possible
connection.

Signed-off-by: Hannes Reinecke <hare@suse.de>
master
Hannes Reinecke 2020-09-28 13:39:07 +02:00 committed by Daniel Molkentin
parent e9a614b50c
commit f0ac6cb462
2 changed files with 11 additions and 4 deletions

View File

@ -0,0 +1,10 @@
#
# nvmf-initqueue.rules
#
# D-Bus doesn't run in the initrd, which means that we cannot use our
# usual trick of starting custom systemd services.
# So use a rule to create initqueue entries instead.

ACTION=="change", SUBSYSTEM=="fc", ENV{FC_EVENT}=="nvmediscovery", \
ENV{NVMEFC_HOST_TRADDR}=="*", ENV{NVMEFC_TRADDR}=="*", \
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}"

View File

@ -110,12 +110,9 @@ install() {
inst_multiple ip sed

inst_multiple nvme
inst_multiple -o \
"$systemdsystemunitdir/nvm*-connect@.service" \
"$systemdsystemunitdir/nvm*-connect.target"
inst_hook cmdline 99 "$moddir/parse-nvmf-boot-connections.sh"
inst_simple "/etc/nvme/discovery.conf"
inst_rules /usr/lib/udev/rules.d/70-nvm*-autoconnect.rules
inst_rules /usr/lib/udev/rules.d/71-nvmf-iopolicy-netapp.rules
inst_rules "$moddir/95-nvmf-initqueue.rules"
dracut_need_initqueue
}