10696600cSBjoern A. Zeeb#!/bin/sh 20696600cSBjoern A. Zeeb# 30696600cSBjoern A. Zeeb# 40696600cSBjoern A. Zeeb 50696600cSBjoern A. Zeeb# PROVIDE: zvol 674e2b24fSCy Schubert# REQUIRE: zpool 70696600cSBjoern A. Zeeb# KEYWORD: nojail 80696600cSBjoern A. Zeeb 90696600cSBjoern A. Zeeb. /etc/rc.subr 100696600cSBjoern A. Zeeb 110696600cSBjoern A. Zeebname="zvol" 120696600cSBjoern A. Zeebdesc="Activate swap on ZVOLs" 130696600cSBjoern A. Zeebrcvar="zfs_enable" 140696600cSBjoern A. Zeebstart_cmd="zvol_start" 150696600cSBjoern A. Zeebstop_cmd="zvol_stop" 160696600cSBjoern A. Zeebrequired_modules="zfs" 170696600cSBjoern A. Zeeb 180696600cSBjoern A. Zeebzvol_start() 190696600cSBjoern A. Zeeb{ 200696600cSBjoern A. Zeeb # Enable swap on ZVOLs with property org.freebsd:swap=on. 210696600cSBjoern A. Zeeb zfs list -H -o org.freebsd:swap,name -t volume | 220696600cSBjoern A. Zeeb while read state name; do 230696600cSBjoern A. Zeeb case "${state}" in 240696600cSBjoern A. Zeeb ([oO][nN]) 250696600cSBjoern A. Zeeb swapon /dev/zvol/${name} 260696600cSBjoern A. Zeeb ;; 270696600cSBjoern A. Zeeb esac 280696600cSBjoern A. Zeeb done 290696600cSBjoern A. Zeeb} 300696600cSBjoern A. Zeeb 310696600cSBjoern A. Zeebzvol_stop() 320696600cSBjoern A. Zeeb{ 330696600cSBjoern A. Zeeb # Disable swap on ZVOLs with property org.freebsd:swap=on. 340696600cSBjoern A. Zeeb zfs list -H -o org.freebsd:swap,name -t volume | 350696600cSBjoern A. Zeeb while read state name; do 360696600cSBjoern A. Zeeb case "${state}" in 370696600cSBjoern A. Zeeb ([oO][nN]) 380696600cSBjoern A. Zeeb swapoff /dev/zvol/${name} 390696600cSBjoern A. Zeeb ;; 400696600cSBjoern A. Zeeb esac 410696600cSBjoern A. Zeeb done 420696600cSBjoern A. Zeeb} 430696600cSBjoern A. Zeeb 440696600cSBjoern A. Zeebload_rc_config $name 45*f99f0ee1SAlexander Leidinger 46*f99f0ee1SAlexander Leidinger# doesn't make sense to run in a svcj: config setting 47*f99f0ee1SAlexander Leidingerzvol_svcj="NO" 48*f99f0ee1SAlexander Leidinger 490696600cSBjoern A. Zeebrun_rc_command "$1" 50