10696600cSBjoern A. Zeeb#!/bin/sh 20696600cSBjoern A. Zeeb# 30696600cSBjoern A. Zeeb# 40696600cSBjoern A. Zeeb 50696600cSBjoern A. Zeeb# PROVIDE: mountcritlocal 6f1602affSCy Schubert# REQUIRE: root hostid_save mdconfig 70696600cSBjoern A. Zeeb# KEYWORD: nojail shutdown 80696600cSBjoern A. Zeeb 90696600cSBjoern A. Zeeb. /etc/rc.subr 100696600cSBjoern A. Zeeb 110696600cSBjoern A. Zeebname="mountcritlocal" 120696600cSBjoern A. Zeebdesc="Mount critical local filesystems" 130696600cSBjoern A. Zeebstart_cmd="mountcritlocal_start" 140696600cSBjoern A. Zeebstop_cmd=sync 150696600cSBjoern A. Zeeb 160696600cSBjoern A. Zeebmountcritlocal_start() 170696600cSBjoern A. Zeeb{ 180696600cSBjoern A. Zeeb local err holders waited 190696600cSBjoern A. Zeeb 200696600cSBjoern A. Zeeb # Set up the list of network filesystem types for which mounting 210696600cSBjoern A. Zeeb # should be delayed until after network initialization. 220696600cSBjoern A. Zeeb case ${extra_netfs_types} in 230696600cSBjoern A. Zeeb [Nn][Oo]) 240696600cSBjoern A. Zeeb ;; 250696600cSBjoern A. Zeeb *) 260696600cSBjoern A. Zeeb netfs_types="${netfs_types} ${extra_netfs_types}" 270696600cSBjoern A. Zeeb ;; 280696600cSBjoern A. Zeeb esac 290696600cSBjoern A. Zeeb 300696600cSBjoern A. Zeeb # Mount everything except nfs filesystems. 31325ebf37SJose Luis Duran startmsg -n 'Mounting local filesystems:' 320696600cSBjoern A. Zeeb mount_excludes='no' 330696600cSBjoern A. Zeeb for i in ${netfs_types}; do 340696600cSBjoern A. Zeeb fstype=${i%:*} 350696600cSBjoern A. Zeeb mount_excludes="${mount_excludes}${fstype}," 360696600cSBjoern A. Zeeb done 370696600cSBjoern A. Zeeb mount_excludes=${mount_excludes%,} 380696600cSBjoern A. Zeeb 390696600cSBjoern A. Zeeb mount -a -t ${mount_excludes} 400696600cSBjoern A. Zeeb err=$? 410696600cSBjoern A. Zeeb if [ ${err} -ne 0 ]; then 420696600cSBjoern A. Zeeb echo 'Mounting /etc/fstab filesystems failed,' \ 430696600cSBjoern A. Zeeb 'will retry after root mount hold release' 440696600cSBjoern A. Zeeb root_hold_wait 450696600cSBjoern A. Zeeb mount -a -t ${mount_excludes} 460696600cSBjoern A. Zeeb err=$? 470696600cSBjoern A. Zeeb fi 480696600cSBjoern A. Zeeb 49325ebf37SJose Luis Duran startmsg '.' 500696600cSBjoern A. Zeeb 510696600cSBjoern A. Zeeb case ${err} in 520696600cSBjoern A. Zeeb 0) 530696600cSBjoern A. Zeeb ;; 540696600cSBjoern A. Zeeb *) 550696600cSBjoern A. Zeeb echo 'Mounting /etc/fstab filesystems failed,' \ 560696600cSBjoern A. Zeeb 'startup aborted' 570696600cSBjoern A. Zeeb stop_boot true 580696600cSBjoern A. Zeeb ;; 590696600cSBjoern A. Zeeb esac 600696600cSBjoern A. Zeeb} 610696600cSBjoern A. Zeeb 620696600cSBjoern A. Zeebload_rc_config $name 63*f99f0ee1SAlexander Leidinger 64*f99f0ee1SAlexander Leidinger# mounting shall not be performed in a svcj 65*f99f0ee1SAlexander Leidingermountcritlocal_svcj="NO" 66*f99f0ee1SAlexander Leidinger 670696600cSBjoern A. Zeebrun_rc_command "$1" 68