summaryrefslogtreecommitdiff
path: root/etc/initd/initd.redhat
diff options
context:
space:
mode:
authormnc <mnc@d7303112-9cec-0310-bdd2-e83a94d6c2b6>2006-06-21 17:18:27 +0000
committermnc <mnc@d7303112-9cec-0310-bdd2-e83a94d6c2b6>2006-06-21 17:18:27 +0000
commitb695dbcd3726a43477f8be868420eb0b21193cb3 (patch)
treefeff21212831bd391faa999641ff9630f196178e /etc/initd/initd.redhat
parent99ed1917332daa8118fcc3eb08987e8d107e4995 (diff)
downloadopen-iscsi-b695dbcd3726a43477f8be868420eb0b21193cb3.tar.gz
from jeremyk: fixup redhat initscript, things follow the more standard initscript layout, the right value is returned when the initscript exits, especially important for status, makes better use of built in things in /etc/init.d/functions, various general style cleanups
git-svn-id: svn://svn.berlios.de/open-iscsi@609 d7303112-9cec-0310-bdd2-e83a94d6c2b6
Diffstat (limited to 'etc/initd/initd.redhat')
-rw-r--r--etc/initd/initd.redhat136
1 files changed, 41 insertions, 95 deletions
diff --git a/etc/initd/initd.redhat b/etc/initd/initd.redhat
index d1dad9e..27155aa 100644
--- a/etc/initd/initd.redhat
+++ b/etc/initd/initd.redhat
@@ -1,127 +1,68 @@
#!/bin/sh
#
-# chkconfig: - 13 89
+# chkconfig: 345 13 89
# description: Starts and stops the iSCSI initiator
#
+# processname: iscsid
# pidfile: /var/run/iscsid.pid
# config: /etc/iscsid.conf
# Source function library.
-if [ -f /etc/init.d/functions ] ; then
- . /etc/init.d/functions
-elif [ -f /etc/rc.d/init.d/functions ] ; then
- . /etc/rc.d/init.d/functions
-else
- exit 0
-fi
+. /etc/init.d/functions
-PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
-ISCSID=`which iscsid`
-ISCSIADM=`which iscsiadm`
-prog=`basename $ISCSID`
-lockdir=/var/lock/subsys
+RETVAL=0
-if [ -z $ISCSID ] || [ -z $ISCSIADM ]
-then
- echo "open-iscsi not installed."
- exit 1
-fi
-
-start_iscsid()
+start()
{
- RETVAL=0
+ echo -n $"Starting iSCSI initiator service: "
modprobe -q iscsi_tcp
- daemon $ISCSID
+ daemon iscsid
RETVAL=$?
- TARGETS=`$ISCSIADM -m node 2> /dev/null | sed 's@\[\(.*\)\] .*@\1@g'`
- for rec in $TARGETS
- do
- STARTUP=`$ISCSIADM -m node -r $rec | grep "node.conn\[0\].startup" | cut -d' ' -f3`
- if [ $STARTUP = "automatic" ]
- then
- $ISCSIADM -m node -r $rec -l
+ echo
+ [ $RETVAL -eq 0 ] || return
+
+ touch /var/lock/subsys/iscsi
+
+ echo -n $"Setting up iSCSI targets: "
+ TARGETS=`iscsiadm -m node 2> /dev/null | sed 's@\[\(.*\)\] .*@\1@g'`
+ for rec in $TARGETS; do
+ STARTUP=`iscsiadm -m node -r $rec | grep "node.startup" | cut -d' ' -f3`
+ if [ $STARTUP = "automatic" ]; then
+ iscsiadm -m node -r $rec -l
fi
done
+ success
+ echo
- return $RETVAL
}
-stop_iscsid()
+stop()
{
- RETVAL=0
+ echo -n $"Stopping iSCSI initiator service: "
sync
- TARGETS=`$ISCSIADM -m session | grep "\[*\]" | sed 's@\[\(.*\)\] .*@\1@g'`
- for rec in $TARGETS
- do
- $ISCSIADM -m node -r $rec -u
+ TARGETS=`iscsiadm -m session | grep "\[*\]" | sed 's@\[\(.*\)\] .*@\1@g'`
+ for rec in $TARGETS; do
+ STARTUP=`iscsiadm -m node -r $rec | grep "node.startup" | cut -d' ' -f3`
+ if [ $STARTUP != "onboot" ] ; then
+ iscsiadm -m node -r $rec -u
+ fi
done
- pkill -KILL `basename $ISCSID`
- modprobe -r iscsi_tcp
- RETVAL=$?
- return $RETVAL
-}
-
-start()
-{
- RETVAL=0
- echo -n "Starting iSCSI initiator service: "
- PID=`pidofproc $ISCSID`
- if [ -z $PID ]
- then
- start_iscsid
- fi
- if [ $RETVAL == "0" ]
- then
- touch $lockdir/$prog
- success
- else
- failure
- fi
+ killproc iscsid
echo
- return $RETVAL
-}
+ [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/iscsi
-stop()
-{
- RETVAL=0
- echo -n "Stopping iSCSI initiator service: "
- PID=`pidofproc $ISCSID`
- if [ $PID ]
- then
- stop_iscsid
- fi
- if [ $RETVAL == "0" ]
- then
- rm -f $lockdir/$prog
- success
- else
- failure
- fi
- echo
- return $RETVAL
+ modprobe -r iscsi_tcp 2>/dev/null
}
-
restart()
{
stop
start
}
-status()
-{
- PID=`pidofproc $ISCSID`
- if [ ! $PID ]
- then
- echo "iSCSI initiator is stopped."
- exit 1
- else
- echo "iSCSI initiator is running."
- fi
-}
-
case "$1" in
start)
start
@@ -130,14 +71,19 @@ case "$1" in
stop
;;
restart)
- restart
+ stop
+ start
;;
status)
- status
+ status iscsid
+ RETVAL=$?
+ ;;
+ condrestart)
+ [ -f /var/lock/subsys/iscsi ] && restart
;;
*)
- echo $"Usage: $0 {start|stop|restart|status}"
+ echo $"Usage: $0 {start|stop|restart|status|condrestart}"
exit 1
esac
-exit 0
+exit $RETVAL