#!/bin/sh # # $FreeBSD$ # # PROVIDE: disks # REQUIRE: random # KEYWORD: FreeBSD . /etc/rc.subr name="gbde_swap" start_cmd="gbde_swap_attach" stop_cmd="gbde_swap_detach" gbde_swap_attach() { cat /etc/fstab | while read device mountpoint type options rest ; do case "${device}:${type}:${options}" in *.bde:swap:sw) ;; *) continue ;; esac passphrase=`dd if=/dev/random count=1 2>/dev/null | md5 -q` device="${device%.bde}" gbde init "${device}" -P "${passphrase}" || return 1 gbde attach "${device}" -p "${passphrase}" || return 1 done } gbde_swap_detach() { cat /etc/fstab | while read device mountpoint type options rest ; do case "${device}:${type}:${options}" in *.bde:swap:sw) ;; *) continue ;; esac device="${device%.bde}" gbde detach "${device}" done } load_rc_config $name run_rc_command "$1"