From 7335bd1e2358560ac461ef23715a0098f78330fb Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Fri, 24 Apr 2015 11:54:07 +0200 Subject: [PATCH] Defer modprobe of HW modules, until udev is running Also honor blacklisting (cherry picked from commit 437dad70e9525a21da873652080bbd62a9d8b96a) --- modules.d/95fcoe/parse-fcoe.sh | 5 ++--- modules.d/95iscsi/parse-iscsiroot.sh | 9 ++------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/modules.d/95fcoe/parse-fcoe.sh b/modules.d/95fcoe/parse-fcoe.sh index 745a78c6..e8a77e08 100755 --- a/modules.d/95fcoe/parse-fcoe.sh +++ b/modules.d/95fcoe/parse-fcoe.sh @@ -22,10 +22,9 @@ # BRCM: Later, should check whether bnx2x is loaded first before loading bnx2fc so do not load bnx2fc when there are no Broadcom adapters -[ -e /sys/bus/fcoe/ctlr_create ] || modprobe -a fcoe || die "FCoE requested but kernel/initrd does not support FCoE" +[ -e /sys/bus/fcoe/ctlr_create ] || modprobe -b -a fcoe || die "FCoE requested but kernel/initrd does not support FCoE" -modprobe bnx2fc >/dev/null 2>&1 -udevadm settle --timeout=30 +initqueue --onetime modprobe -b -q bnx2fc # FCoE actually supported? [ -e /sys/bus/fcoe/ctlr_create ] || modprobe fcoe || die "FCoE requested but kernel/initrd does not support FCoE" diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh index 3d74ff2e..80201d4e 100755 --- a/modules.d/95iscsi/parse-iscsiroot.sh +++ b/modules.d/95iscsi/parse-iscsiroot.sh @@ -89,16 +89,11 @@ if [ -z "$netroot" ] || ! [ "${netroot%%:*}" = "iscsi" ]; then fi initqueue --unique --onetime --timeout /sbin/iscsiroot timeout "$netroot" "$NEWROOT" - -modprobe -b -q qla4xxx -modprobe -b -q cxgb3i -modprobe -b -q cxgb4i -modprobe -b -q bnx2i -modprobe -b -q be2iscsi +initqueue --onetime modprobe --all -b -q qla4xxx cxgb3i cxgb4i bnx2i be2iscsi # ISCSI actually supported? if ! [ -e /sys/module/iscsi_tcp ]; then - modprobe -q iscsi_tcp || die "iscsiroot requested but kernel/initrd does not support iscsi" + modprobe -b -q iscsi_tcp || die "iscsiroot requested but kernel/initrd does not support iscsi" fi if [ -n "$netroot" ] && [ "$root" != "/dev/root" ] && [ "$root" != "dhcp" ]; then