diff options
Diffstat (limited to 'abs/core/nfs-utils/nfs-server')
-rw-r--r-- | abs/core/nfs-utils/nfs-server | 299 |
1 files changed, 0 insertions, 299 deletions
diff --git a/abs/core/nfs-utils/nfs-server b/abs/core/nfs-utils/nfs-server deleted file mode 100644 index 6aa609d..0000000 --- a/abs/core/nfs-utils/nfs-server +++ /dev/null @@ -1,299 +0,0 @@ -#!/bin/bash - -daemon_name=nfs-server - -NFSD_COUNT= -NFSD_OPTS= -NEED_SVCGSSD= -SVCGSSD_OPTS= -MOUNTD_OPTS= -PROCNFSD_MOUNTPOINT= -PROCNFSD_MOUNTOPTS= - -# rpc.nfsd daemon & binary location -NFSD_PROCESS_NAME=nfsd -NFSD_DAEMON_NAME=rpc.nfsd -NFSD="/usr/sbin/rpc.nfsd" - -# rpc.svcgssd daemon & binary location -SVCGSSD_DAEMON_NAME=rpc.svcgssd -SVCGSSD="/usr/sbin/rpc.svcgssd" - -# rpc.idmapd daemon & binary location -IDMAPD_DAEMON_NAME=rpc.idmapd -IDMAPD="/usr/sbin/rpc.idmapd" - -# rpc.mountd daemon & binary location -MOUNTD_DAEMON_NAME=rpc.mountd -MOUNTD="/usr/sbin/rpc.mountd" - -# exortfs binary location -EXPORTFS="/usr/sbin/exportfs" - -. /etc/rc.conf -. /etc/rc.d/functions -. /etc/conf.d/$daemon_name.conf - -# Default number of nfsd servers -[ -z "$NFSD_COUNT" ] && NFSD_COUNT=8 - -# Default mountpoint and options for nfsd filesystem -[ -z "$PROCNFSD_MOUNTPOINT" ] && PROCNFSD_MOUNTPOINT="/proc/fs/nfsd" -[ -z "$PROCNFSD_MOUNTOPTS" ] && PROCNFSD_MOUNTOPTS="rw,nodev,noexec,nosuid" - -case "$NEED_SVCGSSD" in - yes|no) - ;; - *) - NEED_SVCGSSD=no - ;; -esac - -do_modprobe() { - if [ -x /sbin/modprobe -a -f /proc/modules ]; then - modprobe -q "$1" || true - fi -} - -do_mount() { - if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then - return 1 - fi - - if grep -vw "$1" /proc/mounts &> /dev/null ; then - if ! mountpoint -q "$2" ; then - mount -t "$1" "$1" "$2" -o "$3" - return - fi - fi - return 0 -} - -do_umount() { - if mountpoint -q "$1" ; then - umount "$1" - fi - return 0 -} - -get_pid() { - pidof -o %PPID "$1" -} - -case "$1" in - start) - ck_daemon nfs-common && { echo -n "Start nfs-common first." >&2; stat_die; } - rc=0 - stat_busy "Mounting nfsd filesystem" - do_modprobe nfsd - do_mount nfsd "$PROCNFSD_MOUNTPOINT" "$PROCNFSD_MOUNTOPTS" - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - stat_done - fi - - stat_busy "Exporting all directories" - $EXPORTFS -r - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - stat_done - fi - - stat_busy "Starting $NFSD_DAEMON_NAME daemon" - PID=$(get_pid $NFSD_PROCESS_NAME) - if [ -z "$PID" ]; then - [ -f /var/run/$NFSD_DAEMON_NAME.pid ] && rm -f /var/run/$NFSD_DAEMON_NAME.pid - # RUN - $NFSD $NFSD_OPTS $NFSD_COUNT - # - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - echo $(get_pid $NFSD_PROCESS_NAME) > /var/run/$NFSD_DAEMON_NAME.pid - stat_done - fi - else - stat_fail - exit 1 - fi - - if [ "$NEED_SVCGSSD" = yes ]; then - do_modprobe rpcsec_gss_krb5 - stat_busy "Starting $SVCGSSD_DAEMON_NAME daemon" - PID=$(get_pid $SVCGSSD) - if [ -z "$PID" ]; then - [ -f /var/run/$SVCGSSD_DAEMON_NAME.pid ] && rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid - # RUN - $SVCGSSD $SVCGSSD_OPTS - # - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - echo $(get_pid $SVCGSSD) > /var/run/$SVCGSSD_DAEMON_NAME.pid - stat_done - fi - else - stat_fail - exit 1 - fi - fi - - PID=$(get_pid $IDMAPD) - [ ! -z "$PID" ] && kill -SIGHUP $IDMAPD_DAEMON_NAME &> /dev/null - - stat_busy "Starting $MOUNTD_DAEMON_NAME daemon" - PID=$(get_pid $MOUNTD) - if [ -z "$PID" ]; then - [ -f /var/run/$MOUNTD_DAEMON_NAME.pid ] && rm -f /var/run/$MOUNTD_DAEMON_NAME.pid - # RUN - $MOUNTD $MOUNTD_OPTS - # - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - echo $(get_pid $MOUNTD) > /var/run/$MOUNTD_DAEMON_NAME.pid - stat_done - fi - else - stat_fail - exit 1 - fi - - add_daemon $daemon_name - ;; - - stop) - rc=0 - stat_busy "Stopping $MOUNTD_DAEMON_NAME daemon" - PID=$(get_pid $MOUNTD) - # KILL - [ ! -z "$PID" ] && kill $PID &> /dev/null - # - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - rm -f /var/run/$MOUNTD_DAEMON_NAME.pid &> /dev/null - stat_done - fi - - if [ "$NEED_SVCGSSD" = yes ]; then - stat_busy "Stopping $SVCGSSD_DAEMON_NAME daemon" - PID=$(get_pid $SVCGSSD) - # KILL - [ ! -z "$PID" ] && kill $PID &> /dev/null - # - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid &> /dev/null - stat_done - fi - fi - - stat_busy "Stopping $NFSD_DAEMON_NAME daemon" - PID=$(get_pid $NFSD_PROCESS_NAME) - # KILL (SIGINT) - [ ! -z "$PID" ] && kill -2 $PID &> /dev/null - # - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - sleep 1 - PID=$(get_pid $NFSD_PROCESS_NAME) - # KILL (KILL) - just to be sure - [ ! -z "$PID" ] && kill -9 $PID &> /dev/null - # - rm -f /var/run/$NFSD_DAEMON_NAME.pid &> /dev/null - stat_done - fi - - stat_busy "Unexporting all directories" - $EXPORTFS -au - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - stat_done - fi - - # flush everything out of the kernels export table - if mountpoint -q "$PROCNFSD_MOUNTPOINT" ; then - $EXPORTFS -f - fi - do_umount "$PROCNFSD_MOUNTPOINT" 2>/dev/null || true - rm_daemon $daemon_name - ;; - - status) - stat_busy "Checking $daemon_name status"; - ck_status $daemon_name - - stat_busy "Daemon $NFSD_DAEMON_NAME running" - PID=$(get_pid $NFSD_PROCESS_NAME) - if [ -z "$PID" ]; then - stat_fail - else - stat_done - fi - - stat_busy "Daemon $MOUNTD_DAEMON_NAME running" - PID=$(get_pid $MOUNTD) - if [ -z "$PID" ]; then - stat_fail - else - stat_done - fi - - if [ "$NEED_SVCGSSD" = yes ]; then - stat_busy "Daemon $SVCGSSD_DAEMON_NAME running" - PID=$(get_pid $SVCGSSD) - if [ -z "$PID" ]; then - stat_fail - else - stat_done - fi - fi - echo - ;; - - reload) - rc=0 - stat_busy "Re-exporting all directories" - $EXPORTFS -r - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - stat_done - fi - ;; - - restart) - $0 stop - sleep 3 - $0 start - ;; - *) - echo "usage: $0 {start|stop|status|reload|restart}" -esac -exit 0 |