]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - etc/rc.d/zvol
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / etc / rc.d / zvol
1 #!/bin/sh
2 #
3 # $FreeBSD$
4 #
5
6 # PROVIDE: zvol
7 # REQUIRE: hostid
8 # KEYWORD: nojail
9
10 . /etc/rc.subr
11
12 name="zvol"
13 rcvar="zfs_enable"
14 start_cmd="zvol_start"
15 stop_cmd="zvol_stop"
16 required_modules="zfs"
17
18 zvol_start()
19 {
20         # Enable swap on ZVOLs with property org.freebsd:swap=on.
21         zfs list -H -o org.freebsd:swap,name -t volume | \
22         while read state name; do
23                 case "${state}" in
24                 [oO][nN])
25                         swapon /dev/zvol/${name}
26                         ;;
27                 esac
28         done
29 }
30
31 zvol_stop()
32 {
33         # Disable swap on ZVOLs with property org.freebsd:swap=on.
34         zfs list -H -o org.freebsd:swap,name -t volume | \
35         while read state name; do
36                 case "${state}" in
37                 [oO][nN])
38                         swapoff /dev/zvol/${name}
39                         ;;
40                 esac
41         done
42 }
43
44 load_rc_config $name
45 run_rc_command "$1"