Files
scst/iscsi-scst/etc/initd/initd.redhat
Vladislav Bolkhovitin 9a94dbe2e6 Return value of the script depend on the return value of the
last executed function. 
 
In some functions (for example: start) the return value of the  
last executable is being returned but not being checked anywhere. 
If this last operaion fails, the return value shouldn't be 0. 
 
Signed-off-by: Dotan Barak <dotanba@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@487 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-08-13 18:09:23 +00:00

130 lines
2.3 KiB
Bash

#!/bin/sh
#
# chkconfig: - 39 35
# description: Starts and stops the iSCSI target
#
# pidfile: /var/run/iscsi-scstd.pid
# config: /etc/iscsi-scstd.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
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
MEM_SIZE=1048576
configure_memsize()
{
if [ -e /proc/sys/net/core/wmem_max ]; then
echo ${MEM_SIZE} > /proc/sys/net/core/wmem_max
fi
if [ -e /proc/sys/net/core/rmem_max ]; then
echo ${MEM_SIZE} > /proc/sys/net/core/rmem_max
fi
if [ -e /proc/sys/net/core/wmem_default ]; then
echo ${MEM_SIZE} > /proc/sys/net/core/wmem_default
fi
if [ -e /proc/sys/net/core/rmem_default ]; then
echo ${MEM_SIZE} > /proc/sys/net/core/rmem_default
fi
if [ -e /proc/sys/net/ipv4/tcp_mem ]; then
echo "${MEM_SIZE} ${MEM_SIZE} ${MEM_SIZE}" > /proc/sys/net/ipv4/tcp_mem
fi
if [ -e /proc/sys/net/ipv4/tcp_rmem ]; then
echo "${MEM_SIZE} ${MEM_SIZE} ${MEM_SIZE}" > /proc/sys/net/ipv4/tcp_rmem
fi
if [ -e /proc/sys/net/ipv4/tcp_wmem ]; then
echo "${MEM_SIZE} ${MEM_SIZE} ${MEM_SIZE}" > /proc/sys/net/ipv4/tcp_wmem
fi
}
RETVAL=0
start()
{
echo -n "Starting iSCSI target service: "
# configure_memsize
modprobe -q crc32c
modprobe iscsi-scst
daemon /usr/local/sbin/iscsi-scstd
# -d 0xFFFF
RETVAL=$?
echo
return $RETVAL
}
stop()
{
echo -n "Stopping iSCSI target service: "
killall iscsi-scstd
rmmod -w iscsi-scst
RETVAL=$?
modprobe -r crc32c 2>/dev/null
if [ $RETVAL -eq 0 ]; then
echo_success
else
echo_failure
fi
echo
return $RETVAL
}
restart()
{
stop
start
}
condrestart()
{
PID=`pidofproc iscsi-scstd`
if [ $PID ]; then
restart
fi
}
status()
{
PID=`pidofproc iscsi-scstd`
if [ ! $PID ]; then
echo "iSCSI target stopped"
exit 1
else
echo "iscsi-scstd (pid $PID) is running..."
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
condrestart)
condrestart
;;
status)
status
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit $?