split nfs rpc daemons startup script
fstab-sys will mount nonroot nfs as well, so we need to split the necessary code from nfsroot to start rpc daemon as hook script. Signed-off-by: Dave Young <dyoung@redhat.com>master
parent
65bb31a405
commit
c6655c4115
|
@ -57,6 +57,7 @@ install() {
|
||||||
dracut_install $(for _i in $(ls {/usr,}$libdir/libnss*.so 2>/dev/null); do echo $_i;done | egrep "$_nsslibs")
|
dracut_install $(for _i in $(ls {/usr,}$libdir/libnss*.so 2>/dev/null); do echo $_i;done | egrep "$_nsslibs")
|
||||||
|
|
||||||
inst_hook cmdline 90 "$moddir/parse-nfsroot.sh"
|
inst_hook cmdline 90 "$moddir/parse-nfsroot.sh"
|
||||||
|
inst_hook pre-udev 99 "$moddir/nfs-start-rpc.sh"
|
||||||
inst_hook pre-pivot 99 "$moddir/nfsroot-cleanup.sh"
|
inst_hook pre-pivot 99 "$moddir/nfsroot-cleanup.sh"
|
||||||
inst "$moddir/nfsroot" "/sbin/nfsroot"
|
inst "$moddir/nfsroot" "/sbin/nfsroot"
|
||||||
mkdir -m 0755 -p "$initdir/var/lib/nfs/rpc_pipefs"
|
mkdir -m 0755 -p "$initdir/var/lib/nfs/rpc_pipefs"
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# -*- 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
|
||||||
|
|
||||||
|
# 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
|
|
@ -84,22 +84,7 @@ getarg rw && nfsrw=rw
|
||||||
|
|
||||||
options=${options:+$options,}$nfsrw
|
options=${options:+$options,}$nfsrw
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
if [ "$nfs" = "nfs4" ]; then
|
if [ "$nfs" = "nfs4" ]; then
|
||||||
[ ! -d /var/lib/nfs/rpc_pipefs/nfs ] && \
|
|
||||||
mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# XXX Should we loop here?
|
# XXX Should we loop here?
|
||||||
mount -t nfs4 -o$options${nfslock+,$nfslock} \
|
mount -t nfs4 -o$options${nfslock+,$nfslock} \
|
||||||
$server:$path $NEWROOT \
|
$server:$path $NEWROOT \
|
||||||
|
|
Loading…
Reference in New Issue