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