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