buildrootschalter/package/nfs-utils/S60nfs
Thomas Petazzoni 3a61bacdcb nfs-utils: create /var/lock/subsys
The NFS server needs to create files in /var/lock/subsys/, but this
directory doesn't exist in our skeleton. This commit makes sure it
gets created by the S60nfs startup script, which fixes the operation
of the NFS server (tested with rpcbind).

Reported-by: Ofer Heifetz <oferh@marvell.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-06 22:11:51 +02:00

91 lines
1.7 KiB
Bash
Executable File

#!/bin/sh
#
# nfs This shell script takes care of starting and stopping
# the NFS services. Stolen from RedHat FC5.
[ -x /usr/sbin/rpc.statd ] || exit 0
[ -x /usr/sbin/rpc.nfsd ] || exit 0
[ -x /usr/sbin/rpc.mountd ] || exit 0
[ -x /usr/sbin/exportfs ] || exit 0
# Don't fail if /etc/exports doesn't exist; create a bare-bones version and continue.
[ -r /etc/exports ] || \
{ touch /etc/exports && chmod u+rw,g+r,o+r /etc/exports ; } || \
{ echo "/etc/exports does not exist" ; exit 0 ; }
# The /var/lib/nfs directory is actually on a tmpfs filesystem.
mkdir -p /var/lib/nfs/sm
mkdir -p /var/lib/nfs/sm.bak
mkdir -p /var/lock/subsys
touch /var/lib/nfs/etab
touch /var/lib/nfs/rmtab
touch /var/lib/nfs/state
touch /var/lib/nfs/xtab
start() {
# Start daemons.
echo -n "Starting NFS statd: "
rpc.statd
touch /var/lock/subsys/nfslock
echo "done"
echo -n "Starting NFS services: "
/usr/sbin/exportfs -r
rpc.statd
echo "done"
echo -n "Starting NFS daemon: "
rpc.nfsd 2
echo "done"
echo -n "Starting NFS mountd: "
rpc.mountd
echo "done"
touch /var/lock/subsys/nfs
}
stop() {
# Stop daemons.
echo -n "Shutting down NFS mountd: "
killall -q rpc.mountd
echo "done"
echo "Shutting down NFS daemon: "
kill -9 `pidof nfsd` 2>/dev/null
echo "done"
echo -n "Shutting down NFS services: "
/usr/sbin/exportfs -au
rm -f /var/lock/subsys/nfs
killall -q rpc.statd
echo "done"
echo -n "Stopping NFS statd: "
killall -q rpc.statd
echo "done"
rm -f /var/lock/subsys/nfslock
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
reload)
/usr/sbin/exportfs -r
touch /var/lock/subsys/nfs
;;
*)
echo "Usage: nfs {start|stop|reload}"
exit 1
esac
exit 0