1195938Spjd#!/bin/sh 2195938Spjd# 3195938Spjd# $FreeBSD$ 4195938Spjd# 5195938Spjd 6195938Spjd# PROVIDE: zvol 7195938Spjd# REQUIRE: hostid 8301612Sngie# BEFORE: dumpon 9195938Spjd# KEYWORD: nojail 10195938Spjd 11195938Spjd. /etc/rc.subr 12195938Spjd 13195938Spjdname="zvol" 14195938Spjdrcvar="zfs_enable" 15195938Spjdstart_cmd="zvol_start" 16195938Spjdstop_cmd="zvol_stop" 17195938Spjdrequired_modules="zfs" 18195938Spjd 19195938Spjdzvol_start() 20195938Spjd{ 21195938Spjd # Enable swap on ZVOLs with property org.freebsd:swap=on. 22195938Spjd zfs list -H -o org.freebsd:swap,name -t volume | \ 23195938Spjd while read state name; do 24195938Spjd case "${state}" in 25195938Spjd [oO][nN]) 26195938Spjd swapon /dev/zvol/${name} 27195938Spjd ;; 28195938Spjd esac 29195938Spjd done 30195938Spjd} 31195938Spjd 32195938Spjdzvol_stop() 33195938Spjd{ 34195938Spjd # Disable swap on ZVOLs with property org.freebsd:swap=on. 35195938Spjd zfs list -H -o org.freebsd:swap,name -t volume | \ 36195938Spjd while read state name; do 37195938Spjd case "${state}" in 38195938Spjd [oO][nN]) 39195938Spjd swapoff /dev/zvol/${name} 40195938Spjd ;; 41195938Spjd esac 42195938Spjd done 43195938Spjd} 44195938Spjd 45195938Spjdload_rc_config $name 46195938Spjdrun_rc_command "$1" 47