summaryrefslogtreecommitdiff
path: root/security/sfs/files/sfscd.in
blob: 7f8dd75b5e9fb1603487c200c796732eb510733c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: sfscd
# REQUIRE: NETWORKING
# KEYWORD: shutdown
#
# Add the following line to /etc/rc.conf to enable the sfscd daemon:
#
# sfscd_enable="YES"
#

. %%RC_SUBR%%

name=sfscd
rcvar=`set_rcvar`

command="%%PREFIX%%/sbin/${name}"
pidfile="/var/run/${name}.pid"

stop_cmd=stop_cmd

stop_cmd() {
	echo "Stopping ${name}"

	users_mounts=`mount | awk '/^@.* on \./ { print $1 }'`

	if [ -n $user_mounts] ; then
		`echo $users_mounts | xargs umount -f`
	fi
	
	if [ -d /sfs/.mnt ] ; then
		for dir in /sfs/.mnt/*; do
			umount -f $dir
		done

		umount -f /sfs
	fi

	pkill -9 nfsmounter
}

# set defaults
sfscd_enable=${sfscd_enable:-"NO"}

load_rc_config ${name}
run_rc_command "$1"