#!/sbin/runscript # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/sys-apps/util-linux/files/crypto-loop.initd,v 1.4 2008/10/26 03:16:48 vapier Exp $ depend() { if [ -x /etc/init.d/root ]; then need root else need checkroot fi need modules before localmount } start() { local status="0" ebegin "Starting crypto loop devices" if [ -e /etc/conf.d/crypto-loop ] ; then egrep "^loop" /etc/conf.d/crypto-loop | \ while read loopline ; do eval ${loopline} local configured=$(awk -v MOUNT="${device}" \ '($2 == MOUNT) { print "yes" }' /proc/mounts) if [ "${configured}" != "yes" ] ; then einfo " Loop ${loop} on device ${device} (cipher ${cipher}, key size ${keysize}): " if [ -n "${hash}" ] ; then /usr/sbin/hashalot -n ${keysize} ${hash} /dev/null) ; do losetup ${loop} > /dev/null 2>&1 if [ $? -eq 0 ] ; then ( umount ${loop} || swapoff "${loop}" ) >/dev/null 2>&1 if ! /sbin/losetup -d ${loop} > /dev/null 2>&1; then ewarn "Failure deconfiguring ${loop}." status=1 fi fi done ewend ${status} } # vim:ts=4