From: Harald Hoyer Date: Thu, 22 Nov 2012 11:14:31 +0000 (+0100) Subject: nfs/nfs-start-rpc.sh: prevent mount error, if sunrpc kernel module is not in the... X-Git-Tag: 025~47 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a67a6f957dfd8ca51dea1ac5f8ca51a7646cca0f;p=thirdparty%2Fdracut.git nfs/nfs-start-rpc.sh: prevent mount error, if sunrpc kernel module is not in the initramfs https://bugzilla.redhat.com/show_bug.cgi?id=870632 --- diff --git a/modules.d/95nfs/nfs-start-rpc.sh b/modules.d/95nfs/nfs-start-rpc.sh index 525c63618..d3faaacb4 100755 --- a/modules.d/95nfs/nfs-start-rpc.sh +++ b/modules.d/95nfs/nfs-start-rpc.sh @@ -2,16 +2,22 @@ # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- # ex: ts=8 sw=4 sts=4 et filetype=sh -# Start rpcbind or rpcbind -# FIXME occasionally saw 'rpcbind: fork failed: No such device' -- why? -command -v portmap >/dev/null && [ -z "$(pidof portmap)" ] && portmap -command -v rpcbind >/dev/null && [ -z "$(pidof rpcbind)" ] && rpcbind -[ ! -d /var/lib/nfs/rpc_pipefs/nfs ] && \ - mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs +if modprobe sunrpc || strstr "$(cat /proc/filesystems)" rpc_pipefs; then -# Start rpc.statd as mount won't let us use locks on a NFSv4 -# filesystem without talking to it. NFSv4 does locks internally, -# rpc.lockd isn't needed -[ -z "$(pidof rpc.statd)" ] && rpc.statd -[ -z "$(pidof rpc.idmapd)" ] && rpc.idmapd + [ ! -d /var/lib/nfs/rpc_pipefs/nfs ] && \ + mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs + + # Start rpcbind or rpcbind + # FIXME occasionally saw 'rpcbind: fork failed: No such device' -- why? + command -v portmap >/dev/null && [ -z "$(pidof portmap)" ] && portmap + command -v rpcbind >/dev/null && [ -z "$(pidof rpcbind)" ] && rpcbind + + # Start rpc.statd as mount won't let us use locks on a NFSv4 + # filesystem without talking to it. NFSv4 does locks internally, + # rpc.lockd isn't needed + [ -z "$(pidof rpc.statd)" ] && rpc.statd + [ -z "$(pidof rpc.idmapd)" ] && rpc.idmapd +else + warn 'Kernel module "sunrpc" not in the initramfs, or support for filesystem "rpc_pipefs" missing!' +fi