]> git.pld-linux.org Git - packages/nfs-utils.git/blame - rpcidmapd.init
- statd is needed only for NFSv2 or NFSv3
[packages/nfs-utils.git] / rpcidmapd.init
CommitLineData
8ca940f0
JR
1#!/bin/bash
2#
3# rpcidmapd Start up and shut down RPC name to UID/GID mapper
4#
5# Authors: Chuck Lever <cel@netapp.com>
6#
7# chkconfig: 345 13 82
8# description: Starts user-level daemon for NFSv4 that maps user \
9# names to UID and GID numbers.
10
11# Source function library.
12. /etc/rc.d/init.d/functions
13
14# Get network config
15. /etc/sysconfig/network
16
17# Check that networking is up.
18if is_yes "${NETWORKING}"; then
19 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
20 msg_network_down "RPC svcgssd daemon"
21 exit 1
22 fi
23else
24 exit 0
25fi
26
27if [ -x /sbin/pidof ] && [ "$1" != "stop" ]; then
28 [ -z "`/sbin/pidof portmap`" ] && nls "Error: portmap isn't running" && exit 0
29fi
30
31# Get service config
32[ -f /etc/sysconfig/nfsfs ] && . /etc/sysconfig/nfsfs
33[ -f /etc/sysconfig/nfsd ] && . /etc/sysconfig/nfsd
34
35# /usr may be on NFS, fail silently, nfsfs will start it
36[ -x /usr/sbin/rpc.idmapd ] || exit 0
37
31611ba1
JR
38# Find out what the current runlevel dir is
39RUNLEVELDIR=$(cat /var/run/runlevel.dir)
40
8ca940f0
JR
41RETVAL=0
42
43# See how we were called.
44case "$1" in
45 start)
46 # Check if the service is already running?
4797294b 47 if [ ! -f /var/lock/subsys/idmapd ]; then
31611ba1
JR
48 # This is whacko, but we need /proc/fs/nfsd mounted before
49 # starting idmapd on NFS server
50 if [ -e "$RUNLEVELDIR/S*nfs" ]; then
51 if ! grep -q nfsd /proc/mounts ; then
52 modprobe -s nfsd > /dev/null 2>&1
53 run_cmd "Mounting /proc/fs/nfsd filesystem" mount -t nfsd nfsd /proc/fs/nfsd
54 fi
55 fi
8ca940f0
JR
56 if ! grep -q rpc_pipefs /proc/mounts ; then
57 modprobe -s sunrpc >/dev/null 2>&1
58 run_cmd "Mounting /var/lib/nfs/rpc_pipefs filesystem" \
59 mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
60 fi
61
bab141e1 62 msg_starting "RPC idmapd"
8ca940f0
JR
63 daemon rpc.idmapd $RPCIDMAPOPTIONS
64 RETVAL=$?
4797294b 65 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/idmapd
8ca940f0 66 else
bab141e1 67 msg_already_running "RPC idmapd"
8ca940f0
JR
68 fi
69 ;;
70 stop)
4797294b 71 if [ -f /var/lock/subsys/idmapd ]; then
8ca940f0
JR
72 msg_stopping "RPC idmapd"
73 killproc rpc.idmapd
4797294b 74 rm -f /var/lock/subsys/idmapd
8ca940f0
JR
75 else
76 msg_not_running "RPC idmapd"
77 fi
78 ;;
79 status)
80 status rpc.idmapd
81 RETVAL=$?
82 ;;
83 restart|reload)
84 $0 stop
85 $0 start
86 RETVAL=$?
87 ;;
88 *)
89 msg_usage "$0 {start|stop|restart|status}"
90 exit 1
91esac
92
93exit $RETVAL
This page took 0.052717 seconds and 4 git commands to generate.