Permalink
Switch branches/tags
Find file
Fetching contributors…
Cannot retrieve contributors at this time
105 lines (91 sloc) 1.63 KB
#!/bin/sh
#
# chkconfig: 345 13 89
# description: Starts and stops the iSCSI initiator
#
# processname: iscsid
# pidfile: /var/run/iscsid.pid
# config: /etc/iscsi/iscsid.conf
# Source function library.
. /etc/init.d/functions
PATH=/sbin:/bin:/usr/sbin:/usr/bin
RETVAL=0
start()
{
echo -n $"Starting iSCSI initiator service: "
daemon iscsid
RETVAL=$?
success
echo
[ $RETVAL -eq 0 ] || return
touch /var/lock/subsys/open-iscsi
echo -n $"Setting up iSCSI targets: "
iscsiadm -m node --loginall=automatic
success
echo
}
stop()
{
echo -n $"Stopping iSCSI initiator service: "
sync
iscsiadm -m node --logoutall=all
RETVAL=$?
if [ $RETVAL -ne 0 ]; then
echo "Could not logout from all nodes, try again later"
return $RETVAL
fi
iscsiadm -k 0
rm -f /var/run/iscsid.pid
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/open-iscsi
status=0
modprobe -r iscsi_tcp 2>/dev/null
if [ "$?" -ne "0" -a "$?" -ne "1" ]; then
status=1
fi
modprobe -r ib_iser 2>/dev/null
if [ "$?" -ne "0" -a "$?" -ne "1" ]; then
status=1
fi
if [ "$status" -eq "0" ]; then
success
else
failure
fi
echo
}
restart()
{
stop
if [ $RETVAL -ne 0 ]; then
echo "Stopping iSCSI initiator service failed, not starting"
return $RETVAL
fi
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
if [ $RETVAL -ne 0 ]; then
echo "Stopping iSCSI initiator service failed, not starting"
exit $RETVAL
fi
start
;;
status)
status iscsid
RETVAL=$?
;;
condrestart)
[ -f /var/lock/subsys/open-iscsi ] && restart
;;
*)
echo $"Usage: $0 {start|stop|restart|status|condrestart}"
exit 1
esac
exit $RETVAL