Blob Blame History Raw
From 83a420674b7c1328ffb944678619595a431ffa48 Mon Sep 17 00:00:00 2001
From: Dave Young <dyoung@redhat.com>
Date: Wed, 11 Jul 2012 13:08:18 +0800
Subject: [PATCH] nfs: install modprobe config file

install nfs modprobe config file

For nfs4, in case nfs.ko is not loaded mount.nfs4 will try to load
nfs4.ko instead of nfs.ko. Fedora nfs-utils creates a lib/modprobe.d/nfs.conf
in which there's below alias:
alias nfs4 nfs

Dracut also need this file to auto load nfs kernel module.

Tested booting to a fedora 17 nfsroot share.

Signed-off-by: Dave Young <dyoung@redhat.com>
---
 modules.d/95nfs/module-setup.sh  |    6 ++++++
 modules.d/95nfs/parse-nfsroot.sh |    7 -------
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh
index b170de5..0c07725 100755
--- a/modules.d/95nfs/module-setup.sh
+++ b/modules.d/95nfs/module-setup.sh
@@ -35,6 +35,12 @@ install() {
         mount.nfs4 umount rpc.idmapd sed /etc/netconfig
     dracut_install /etc/services /etc/nsswitch.conf /etc/rpc /etc/protocols /etc/idmapd.conf
 
+    if [ -f /lib/modprobe.d/nfs.conf ]; then
+        dracut_install /lib/modprobe.d/nfs.conf
+    else
+        echo "alias nfs4 nfs" > $initdir/etc/modprobe.d/nfs.conf
+    fi
+
     inst_libdir_file 'libnfsidmap_nsswitch.so*' 'libnfsidmap/*.so' 'libnfsidmap*.so*'
 
     _nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' /etc/nsswitch.conf \
diff --git a/modules.d/95nfs/parse-nfsroot.sh b/modules.d/95nfs/parse-nfsroot.sh
index 4e69edc..769d233 100755
--- a/modules.d/95nfs/parse-nfsroot.sh
+++ b/modules.d/95nfs/parse-nfsroot.sh
@@ -88,13 +88,6 @@ nfsroot_to_var $netroot
 # Set fstype, might help somewhere
 fstype=${nfs#/dev/}
 
-# NFS actually supported? Some more uglyness here: nfs3 or nfs4 might not
-# be in the module...
-if ! incol2 /proc/filesystems $fstype ; then
-    modprobe nfs
-    incol2 /proc/filesystems $fstype || die "nfsroot type $fstype requested but kernel/initrd does not support nfs"
-fi
-
 # Rewrite root so we don't have to parse this uglyness later on again
 netroot="$fstype:$server:$path:$options"