diff --git a/modules.d/95nvmf/parse-nvmf-boot-connections.sh b/modules.d/95nvmf/parse-nvmf-boot-connections.sh index df104606b2..c8078a76e6 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