10696600cSBjoern A. Zeeb#!/bin/sh 20696600cSBjoern A. Zeeb# 30696600cSBjoern A. Zeeb# 40696600cSBjoern A. Zeeb 50696600cSBjoern A. Zeeb# PROVIDE: mountd 6f72926eaSRick Macklem# REQUIRE: NETWORKING rpcbind quota mountlate 7*0bb08f21SRick Macklem# KEYWORD: nojailvnet shutdown 80696600cSBjoern A. Zeeb 90696600cSBjoern A. Zeeb. /etc/rc.subr 100696600cSBjoern A. Zeeb 110696600cSBjoern A. Zeebname="mountd" 120696600cSBjoern A. Zeebdesc="Service remote NFS mount requests" 130696600cSBjoern A. Zeebrcvar="mountd_enable" 140696600cSBjoern A. Zeebcommand="/usr/sbin/${name}" 150696600cSBjoern A. Zeebpidfile="/var/run/${name}.pid" 160696600cSBjoern A. Zeebrequired_files="/etc/exports" 170696600cSBjoern A. Zeebstart_precmd="mountd_precmd" 180696600cSBjoern A. Zeebextra_commands="reload" 190696600cSBjoern A. Zeeb 200696600cSBjoern A. Zeebmountd_precmd() 210696600cSBjoern A. Zeeb{ 224389a566SRick Macklem 234389a566SRick Macklem # Load the modules now, so that the vfs.nfsd sysctl 244389a566SRick Macklem # oids are available. 254389a566SRick Macklem load_kld nfsd || return 1 264389a566SRick Macklem 274389a566SRick Macklem # Do not force rpcbind to be running for an NFSv4 only server. 284389a566SRick Macklem # 294389a566SRick Macklem if checkyesno nfsv4_server_only; then 304389a566SRick Macklem echo 'NFSv4 only server' 314389a566SRick Macklem sysctl vfs.nfsd.server_min_nfsvers=4 > /dev/null 324389a566SRick Macklem sysctl vfs.nfsd.server_max_nfsvers=4 > /dev/null 334389a566SRick Macklem rc_flags="${rc_flags} -R" 344389a566SRick Macklem else 350696600cSBjoern A. Zeeb force_depend rpcbind || return 1 361cf8e633SMike Karels if checkyesno nfsv4_server_enable; then 371cf8e633SMike Karels sysctl vfs.nfsd.server_max_nfsvers=4 > /dev/null 381cf8e633SMike Karels else 3909673fc0SRick Macklem sysctl vfs.nfsd.server_max_nfsvers=3 > /dev/null 4009673fc0SRick Macklem fi 414389a566SRick Macklem fi 420696600cSBjoern A. Zeeb 430696600cSBjoern A. Zeeb # mountd flags will differ depending on rc.conf settings 440696600cSBjoern A. Zeeb # 454389a566SRick Macklem if checkyesno nfs_server_enable || checkyesno nfsv4_server_only; then 460696600cSBjoern A. Zeeb if checkyesno weak_mountd_authentication; then 474389a566SRick Macklem if checkyesno nfsv4_server_only; then 484389a566SRick Macklem echo -n 'weak_mountd_authentication ' 494389a566SRick Macklem echo -n 'incompatible with nfsv4_server_only, ' 504389a566SRick Macklem echo 'ignored' 514389a566SRick Macklem else 524389a566SRick Macklem rc_flags="${rc_flags} -n" 534389a566SRick Macklem fi 540696600cSBjoern A. Zeeb fi 550696600cSBjoern A. Zeeb else 560696600cSBjoern A. Zeeb if checkyesno mountd_enable; then 570696600cSBjoern A. Zeeb checkyesno weak_mountd_authentication && rc_flags="-n" 580696600cSBjoern A. Zeeb fi 590696600cSBjoern A. Zeeb fi 600696600cSBjoern A. Zeeb 610696600cSBjoern A. Zeeb if checkyesno zfs_enable; then 620696600cSBjoern A. Zeeb rc_flags="${rc_flags} /etc/exports /etc/zfs/exports" 630696600cSBjoern A. Zeeb fi 640696600cSBjoern A. Zeeb 650696600cSBjoern A. Zeeb rm -f /var/db/mountdtab 660696600cSBjoern A. Zeeb ( umask 022 ; > /var/db/mountdtab ) || 670696600cSBjoern A. Zeeb err 1 'Cannot create /var/db/mountdtab' 680696600cSBjoern A. Zeeb} 690696600cSBjoern A. Zeeb 700696600cSBjoern A. Zeebload_rc_config $name 710696600cSBjoern A. Zeebrun_rc_command "$1" 72