1168410Spjd#!/bin/sh 2168410Spjd# 3168410Spjd# $FreeBSD: stable/10/etc/rc.d/zfs 308244 2016-11-03 08:34:37Z avg $ 4168410Spjd# 5168410Spjd 6168410Spjd# PROVIDE: zfs 7308244Savg# REQUIRE: zfsbe 8301612Sngie# BEFORE: FILESYSTEMS var 9168410Spjd 10168410Spjd. /etc/rc.subr 11168410Spjd 12168410Spjdname="zfs" 13168410Spjdrcvar="zfs_enable" 14168410Spjdstart_cmd="zfs_start" 15168410Spjdstop_cmd="zfs_stop" 16168410Spjdrequired_modules="zfs" 17168410Spjd 18168956Spjdzfs_start_jail() 19168410Spjd{ 20168956Spjd if [ `$SYSCTL_N security.jail.mount_allowed` -eq 1 ]; then 21168956Spjd zfs mount -a 22168956Spjd fi 23168956Spjd} 24168956Spjd 25168956Spjdzfs_start_main() 26168956Spjd{ 27253076Savg zfs mount -va 28168410Spjd zfs share -a 29168686Spjd if [ ! -r /etc/zfs/exports ]; then 30168686Spjd touch /etc/zfs/exports 31168686Spjd fi 32168410Spjd} 33168410Spjd 34168956Spjdzfs_start() 35168410Spjd{ 36168956Spjd if [ `$SYSCTL_N security.jail.jailed` -eq 1 ]; then 37168956Spjd zfs_start_jail 38168956Spjd else 39168956Spjd zfs_start_main 40168956Spjd fi 41168956Spjd} 42168956Spjd 43168956Spjdzfs_stop_jail() 44168956Spjd{ 45168956Spjd if [ `$SYSCTL_N security.jail.mount_allowed` -eq 1 ]; then 46168956Spjd zfs unmount -a 47168956Spjd fi 48168956Spjd} 49168956Spjd 50168956Spjdzfs_stop_main() 51168956Spjd{ 52168410Spjd zfs unshare -a 53168686Spjd zfs unmount -a 54168410Spjd} 55168410Spjd 56168956Spjdzfs_stop() 57168956Spjd{ 58168956Spjd if [ `$SYSCTL_N security.jail.jailed` -eq 1 ]; then 59168956Spjd zfs_stop_jail 60168956Spjd else 61168956Spjd zfs_stop_main 62168956Spjd fi 63168956Spjd} 64168956Spjd 65168410Spjdload_rc_config $name 66168410Spjdrun_rc_command "$1" 67