#!/bin/sh
#
# Start the RAID monitor daemon for all active md arrays if desired.
#
# Copyright (c) 2001,2002 Mario Jou/3en <joussen@debian.org>
# Distributable under the terms of the GNU GPL version 2.

MDADM=/sbin/mdadm
DEBIANCONFIG=/etc/mdadm/debian.conf
PIDFILE=/var/run/mdadm.pid

test -x $MDADM || exit 0

if [ ! -f /proc/mdstat ] && [ -x /sbin/modprobe ] ; then
  modprobe -k md > /dev/null 2>&1  
fi
test -f /proc/mdstat || exit 0

MAIL_TO=root
START_DAEMON=true
test -f $DEBIANCONFIG && . $DEBIANCONFIG

case "$1" in
    start)
        if [ "x$START_DAEMON" = "xtrue" ] ; then
            ARRAYS="`sed -ne 's/^\(md[[:digit:]]\+\) : active.*/\1/p' /proc/mdstat`"
            if [ -e /dev/.devfsd ] ; then
                ARRAYS="`echo $ARRAYS | sed -e 's%md%/dev/md/%g'`"
            else
                ARRAYS="`echo $ARRAYS | sed -e 's%md%/dev/md%g'`"
            fi
            echo -n "Starting RAID monitor daemon: mdadm -F"
            start-stop-daemon -S -qbm -p $PIDFILE -x $MDADM -- -F -m $MAIL_TO $ARRAYS
            echo "."
        fi
        ;;
    stop)
        if [ -f $PIDFILE ] ; then
            echo -n "Stopping RAID monitor daemon: mdadm -F"
            start-stop-daemon -K -q -p $PIDFILE -x $MDADM
            rm -f $PIDFILE
            echo "."
        fi
        ;;
    restart|reload|force-reload)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|reload|force-reload}"
        exit 1
        ;;
esac

exit 0
