From: Martin Wilck Date: Fri, 16 Sep 2022 22:51:46 +0000 (+0200) Subject: fix(nvmf): make sure "rd.nvmf.discover=fc,auto" takes precedence X-Git-Tag: 058~133 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=556ef46aa96650d72b2fd850a09fa04dff64bbb8;p=thirdparty%2Fdracut.git fix(nvmf): make sure "rd.nvmf.discover=fc,auto" takes precedence The command line may contain several rd.nvmf.discover options. The "fc,auto" option should take precedence. --- diff --git a/modules.d/95nvmf/parse-nvmf-boot-connections.sh b/modules.d/95nvmf/parse-nvmf-boot-connections.sh index df104606b..c8078a76e 100755 --- a/modules.d/95nvmf/parse-nvmf-boot-connections.sh +++ b/modules.d/95nvmf/parse-nvmf-boot-connections.sh @@ -92,19 +92,21 @@ if [ -n "$nvmf_hostid" ]; then echo "$nvmf_hostid" > /etc/nvme/hostid fi +NVMF_FC_AUTO= for d in $(getargs rd.nvmf.discover -d nvmf.discover=); do - parse_nvmf_discover "$d" || break + parse_nvmf_discover "$d" || { + NVMF_FC_AUTO=1 + break + } done # Host NQN and host id are mandatory for NVMe-oF [ -f "/etc/nvme/hostnqn" ] || exit 0 [ -f "/etc/nvme/hostid" ] || exit 0 -if [ -f "/etc/nvme/discovery.conf" ]; then - /sbin/initqueue --settled --onetime --unique --name nvme-discover /usr/sbin/nvme connect-all +# If no nvme command line arguments present, try autodiscovery +if [ $NVMF_FC_AUTO ] || [ ! -f "/etc/nvme/discovery.conf" ]; then + /sbin/initqueue --settled --onetime --unique --name nvme-fc-autoconnect /sbin/nvmf-autoconnect.sh else - # No nvme command line arguments present, try autodiscovery - if [ "$trtype" = "fc" ]; then - /sbin/initqueue --settled --onetime --unique --name nvme-fc-autoconnect /sbin/nvmf-autoconnect.sh - fi + /sbin/initqueue --settled --onetime --unique --name nvme-discover /usr/sbin/nvme connect-all fi