xref: /dragonfly/etc/rc.d/lockd (revision 35e996c9)
1#!/bin/sh
2#
3# FreeBSD History: src/etc/rc.d/nfslocking,v 1.11 2004/10/07 13:55:26 mtm
4# $FreeBSD: src/etc/rc.d/lockd,v 1.22 2008/07/16 19:50:29 dougb Exp $
5#
6
7# PROVIDE: lockd
8# REQUIRE: nfsserver nfsclient nfsd rpcbind statd
9# BEFORE:  DAEMON
10# KEYWORD: nojail shutdown
11
12. /etc/rc.subr
13
14name="lockd"
15rcvar="rpc_lockd_enable"
16command="/usr/sbin/rpc.${name}"
17start_precmd='lockd_precmd'
18stop_precmd='checkyesno nfs_server_enable || checkyesno nfs_client_enable'
19status_precmd=$stop_precmd
20
21# Make sure that we are either an NFS client or server, and that we get
22# the correct flags from rc.conf(5).
23#
24lockd_precmd()
25{
26	local ret=0
27
28	if ! checkyesno nfs_server_enable && ! checkyesno nfs_client_enable
29	then
30		ret=1
31	fi
32	if ! checkyesno rpcbind_enable && \
33	   ! /etc/rc.d/rpcbind forcestatus >/dev/null 2>&1
34	then
35		force_depend rpcbind || ret=1
36	fi
37
38	rc_flags=${rpc_lockd_flags}
39	return ${ret}
40}
41
42load_rc_config $name
43run_rc_command $1
44