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