#!/bin/sh # PROVIDE: iscsi # REQUIRE: NETWORKING # BEFORE: mountcritremote # KEYWORD: shutdown . /etc/rc.subr name="iscsi" start_cmd="iscsi_start" stop_cmd="iscsi_stop" rcvar="iscsi_enable" required_modules="iscsi_initiator:iscsi" iscsi_start() { ${iscsi_command} -c ${iscsi_config} -n ${iscsi_nickname} if [ -f ${iscsi_fstab} ]; then devs=`sed -e '/^#/d' < ${iscsi_fstab} | cut -f 1` for xdev in $devs do i=10 echo "Wait for $xdev" while [ $i -ne 0 ] do [ -c $xdev ] && break sleep 1 i=$(($i-1)) done done echo "mount -a -F ${iscsi_fstab}" mount -a -F ${iscsi_fstab} fi } iscsi_stop() { if [ -f ${iscsi_fstab} ]; then echo "umount -a -F ${iscsi_fstab}" umount -a -F ${iscsi_fstab} fi killall -HUP ${iscsi_command} } load_rc_config $name : ${iscsi_enable="NO"} : ${iscsi_command="iscontrol"} : ${iscsi_nickname="myiscsi"} : ${iscsi_config="/etc/iscsi.conf"} : ${iscsi_fstab="/etc/iscsi.fstab"} run_rc_command "$1"