#!/bin/sh # # $FreeBSD: head/etc/rc.d/zfs 168766 2007-04-15 18:07:14Z pjd $ # # PROVIDE: zfs # REQUIRE: mountcritlocal # KEYWORD: nojail . /etc/rc.subr name="zfs" rcvar="zfs_enable" start_cmd="zfs_start" stop_cmd="zfs_stop" required_modules="zfs" zfs_start() { zfs volinit zfs mount -a zfs share -a if [ ! -r /etc/zfs/exports ]; then touch /etc/zfs/exports fi # Enable swap on ZVOLs with property org.freebsd:swap=on. zfs list -H -o org.freebsd:swap,name -t volume | \ while read state name; do case "${state}" in [oO][nN]) swapon /dev/zvol/${name} ;; esac done } zfs_stop() { # Disable swap on ZVOLs with property org.freebsd:swap=on. zfs list -H -o org.freebsd:swap,name -t volume | \ while read state name; do case "${state}" in [oO][nN]) swapoff /dev/zvol/${name} ;; esac done zfs unshare -a zfs unmount -a zfs volfini } load_rc_config $name run_rc_command "$1"