#!/bin/sh # # $FreeBSD: releng/12.1/libexec/rc/rc.d/zvol 299839 2016-05-15 04:38:50Z ngie $ # $BSDSUniX $ # # PROVIDE: zvol # REQUIRE: hostid # BEFORE: dumpon # KEYWORD: nojail . /etc/rc.subr name="zvol" desc="Activate swap on ZVOLs" rcvar="zfs_enable" start_cmd="zvol_start" stop_cmd="zvol_stop" required_modules="zfs" zvol_start() { # Enable swap on ZVOLs with property org.bsdsunix:swap=on. zfs list -H -o org.bsdsunix:swap,name -t volume | while read state name; do case "${state}" in ([oO][nN]) swapon /dev/zvol/${name} ;; esac done } zvol_stop() { # Disable swap on ZVOLs with property org.bsdsunix:swap=on. zfs list -H -o org.bsdsunix:swap,name -t volume | while read state name; do case "${state}" in ([oO][nN]) swapoff /dev/zvol/${name} ;; esac done } load_rc_config $name run_rc_command "$1"