mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-17 10:41:26 +00:00
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
130 lines
2.3 KiB
Bash
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 $?
|