zvol revision 208307
1#!/bin/sh
2#
3# $FreeBSD: head/etc/rc.d/zvol 208307 2010-05-19 19:03:19Z dougb $
4#
5
6# PROVIDE: zvol
7# REQUIRE: hostid
8# KEYWORD: nojail
9
10. /etc/rc.subr
11
12name="zvol"
13rcvar="zfs_enable"
14start_cmd="zvol_start"
15stop_cmd="zvol_stop"
16required_modules="zfs"
17
18zvol_start()
19{
20	zfs volinit
21	# Enable swap on ZVOLs with property org.freebsd:swap=on.
22	zfs list -H -o org.freebsd:swap,name -t volume | \
23	while read state name; do
24		case "${state}" in
25		[oO][nN])
26			swapon /dev/zvol/${name}
27			;;
28		esac
29	done
30}
31
32zvol_stop()
33{
34	# Disable swap on ZVOLs with property org.freebsd:swap=on.
35	zfs list -H -o org.freebsd:swap,name -t volume | \
36	while read state name; do
37		case "${state}" in
38		[oO][nN])
39			swapoff /dev/zvol/${name}
40			;;
41		esac
42	done
43	zfs volfini
44}
45
46load_rc_config $name
47run_rc_command "$1"
48