diff options
Diffstat (limited to 'sys-freebsd/freebsd-cddl/files/zvol.initd-9.0')
-rw-r--r-- | sys-freebsd/freebsd-cddl/files/zvol.initd-9.0 | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/sys-freebsd/freebsd-cddl/files/zvol.initd-9.0 b/sys-freebsd/freebsd-cddl/files/zvol.initd-9.0 new file mode 100644 index 000000000000..c4071474fc2f --- /dev/null +++ b/sys-freebsd/freebsd-cddl/files/zvol.initd-9.0 @@ -0,0 +1,44 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need hostid + before fsck +} + +start() { + einfo "Starting zfs volumes..." + eend $? + # Enable swap on ZVOLs that have org.freebsd:swap=on. + zfs list -H -o org.freebsd:swap,name -t volume | \ + while read state name; do + case "${state}" in + [oO][nN]) + einfo "Enabling swap on zvol ${name}" + swapon /dev/zvol/${name} + eend $? + ;; + esac + done +} + +stop() { + # Disable what we had enabled before. + zfs list -H -o org.freebsd:swap,name -t volume | \ + while read state name; do + case "${state}" in + [oO][nN]) + einfo "Disabling swap on zvol ${name}" + swapoff /dev/zvol/${name} + eend $? + ;; + esac + done + einfo "Stopping zfs volumes..." + eend $? +} + +restart() { + : +} |