]> git.pld-linux.org Git - packages/nfs-utils.git/blame_incremental - rpcidmapd.init
- obsolete
[packages/nfs-utils.git] / rpcidmapd.init
... / ...
CommitLineData
1#!/bin/sh
2#
3# idmapd Start up and shut down RPC name to UID/GID mapper
4#
5# chkconfig: 345 12 83
6# description: Starts user-level daemon for NFSv4 that maps user \
7# names to UID and GID numbers.
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
18 msg_network_down "RPC idmapd"
19 exit 1
20 fi
21else
22 exit 0
23fi
24
25if [ "$1" != "stop" ]; then
26 check_portmapper || { nls "Error: portmap isn't running" && exit 0; }
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
36# Find out what the current runlevel dir is
37RUNLEVELDIR=$(cat /var/run/runlevel.dir)
38
39start() {
40 # Check if the service is already running?
41 if [ ! -f /var/lock/subsys/idmapd ]; then
42 # This is whacko, but we need /proc/fs/nfsd mounted before
43 # starting idmapd on NFS server
44 if [ -e "$RUNLEVELDIR"/S*nfs ]; then
45 if ! grep -q nfsd /proc/mounts ; then
46 modprobe nfsd > /dev/null 2>&1
47 run_cmd "Mounting /proc/fs/nfsd filesystem" mount -t nfsd nfsd /proc/fs/nfsd
48 fi
49 fi
50 if ! grep -q rpc_pipefs /proc/mounts ; then
51 modprobe sunrpc >/dev/null 2>&1
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
56 msg_starting "RPC idmapd"
57 daemon rpc.idmapd $RPCIDMAPOPTIONS
58 RETVAL=$?
59 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/idmapd
60 else
61 msg_already_running "RPC idmapd"
62 fi
63}
64
65stop() {
66 if [ -f /var/lock/subsys/idmapd ]; then
67 msg_stopping "RPC idmapd"
68 killproc rpc.idmapd
69 rm -f /var/lock/subsys/idmapd
70 else
71 msg_not_running "RPC idmapd"
72 fi
73}
74
75# See how we were called.
76RETVAL=0
77case "$1" in
78 start)
79 start
80 ;;
81 stop)
82 stop
83 ;;
84 status)
85 status rpc.idmapd
86 RETVAL=$?
87 ;;
88 restart)
89 stop
90 start
91 ;;
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 ;;
102 *)
103 msg_usage "$0 {start|stop|restart|reload|status}"
104 exit 1
105esac
106
107exit $RETVAL
This page took 0.021096 seconds and 4 git commands to generate.