zfs revision 168766
1#!/bin/sh
2#
3# $FreeBSD: head/etc/rc.d/zfs 168766 2007-04-15 18:07:14Z pjd $
4#
5
6# PROVIDE: zfs
7# REQUIRE: mountcritlocal
8# KEYWORD: nojail
9
10. /etc/rc.subr
11
12name="zfs"
13rcvar="zfs_enable"
14start_cmd="zfs_start"
15stop_cmd="zfs_stop"
16required_modules="zfs"
17
18zfs_start()
19{
20	zfs volinit
21	zfs mount -a
22	zfs share -a
23	if [ ! -r /etc/zfs/exports ]; then
24		touch /etc/zfs/exports
25	fi
26	# Enable swap on ZVOLs with property org.freebsd:swap=on.
27	zfs list -H -o org.freebsd:swap,name -t volume | \
28	while read state name; do
29		case "${state}" in
30		[oO][nN])
31			swapon /dev/zvol/${name}
32			;;
33		esac
34	done
35}
36
37zfs_stop()
38{
39	# Disable swap on ZVOLs with property org.freebsd:swap=on.
40	zfs list -H -o org.freebsd:swap,name -t volume | \
41	while read state name; do
42		case "${state}" in
43		[oO][nN])
44			swapoff /dev/zvol/${name}
45			;;
46		esac
47	done
48	zfs unshare -a
49	zfs unmount -a
50	zfs volfini
51}
52
53load_rc_config $name
54run_rc_command "$1"
55