#! /bin/sh
# Author: Petter Reinholdtsen <pere@hungry.com>
+# Author: Sven Hoexter <sven@timegate.de>
# License: GNU General Public License v2 or later
# mpt-statusd - Check mpt-status values in the background.
exit 0
fi
-#if ! [ -e "/proc/mpt/version" ] ; then
-# log_failure_msg "The mptctl module is missing."
-# exit 0
-#fi
+
+#Try to blindly load the mptctl module
+modprobe mptctl || true
+
+if ! [ -e "/proc/mpt/version" ] ; then
+ log_failure_msg "The mptctl module is missing."
+ exit 0
+fi
check_mpt() {
echo $$ > $PIDFILE.new && mv $PIDFILE.new $PIDFILE
elif check_daemon ; then
# Use daemonize to turn it into a daemon and start it with daemon().
daemon --pidfile $PIDFILE /usr/sbin/daemonize $SCRIPTNAME check_mpt
- return 0
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && rm -f $PIDFILE
+ return $RETVAL
else
log_warning_msg "Daemon is already running. Refusing to start another"
return 0
#
d_stop() {
if [ -f $PIDFILE ] ; then
- killproc -p $PIDFILE $SCRIPTNAME > /dev/null 2>&1
- rm -f $PIDFILE
+ killproc $SCRIPTNAME
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && rm -f $PIDFILE
+ return $RETVAL
else
log_warning_msg "Daemon is already stopped."
return 0
# therefore can be used by a restart
d_stop_by_restart() {
if [ -f $PIDFILE ] ; then
- killproc -p $PIDFILE $SCRIPTNAME > /dev/null 2>&1
+ killproc -p $PIDFILE $SCRIPTNAME > /dev/null 2>&1
rm -f $PIDFILE
else
log_warning_msg "Daemon is already stopped."
case "$1" in
start)
- echo -n ""
- echo -n $"Starting $DESC: $NAME"
+ echo $"Starting $DESC: $NAME"
d_start
+ echo
;;
stop)
- log_begin_msg "Stopping $DESC: $NAME"
+ echo $"Stopping $DESC: $NAME"
d_stop
+ echo
;;
check_mpt)
check_mpt
;;
restart|force-reload)
- echo -n "Restarting $DESC: $NAME"
+ echo "Restarting $DESC: $NAME"
d_stop_by_restart
sleep 1
d_start
+ echo
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2