diff options
author | mnc <mnc@d7303112-9cec-0310-bdd2-e83a94d6c2b6> | 2006-06-21 17:18:27 +0000 |
---|---|---|
committer | mnc <mnc@d7303112-9cec-0310-bdd2-e83a94d6c2b6> | 2006-06-21 17:18:27 +0000 |
commit | b695dbcd3726a43477f8be868420eb0b21193cb3 (patch) | |
tree | feff21212831bd391faa999641ff9630f196178e /etc/initd/initd.redhat | |
parent | 99ed1917332daa8118fcc3eb08987e8d107e4995 (diff) | |
download | open-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.redhat | 136 |
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 |