~upstart-devel/upstart/upstart-jobs

« back to all changes in this revision

Viewing changes to utopic/etc/init.d/mdadm

  • Committer: Dimitri John Ledkov
  • Date: 2014-11-19 12:58:41 UTC
  • Revision ID: dimitri.j.ledkov@intel.com-20141119125841-98dr37roy8dvcv3b
auto update

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/bin/sh
2
 
#
3
 
# Start the MD monitor daemon for all active MD arrays if desired.
4
 
#
5
 
# Copyright © 2001-2005 Mario Jou/3en <joussen@debian.org>
6
 
# Copyright © 2005-2009 Martin F. Krafft <madduck@debian.org>
7
 
# Distributable under the terms of the GNU GPL version 2.
8
 
#
9
 
### BEGIN INIT INFO
10
 
# Provides:          mdadm
11
 
# Required-Start:    $local_fs $syslog mdadm-raid
12
 
# Required-Stop:     $local_fs $syslog sendsigs mdadm-raid
13
 
# Default-Start:     2 3 4 5
14
 
# Default-Stop:      0 1 6
15
 
# Short-Description: MD monitoring daemon
16
 
# Description:       mdadm provides a monitor mode, in which it will scan for
17
 
#                    problems with the MD devices. If a problem is found, the
18
 
#                    administrator is alerted via email, or a custom script is
19
 
#                    run.
20
 
### END INIT INFO
21
 
#
22
 
set -eu
23
 
 
24
 
MDADM=/sbin/mdadm
25
 
MDMON=/sbin/mdmon
26
 
RUNDIR=/run/mdadm
27
 
PIDFILE=$RUNDIR/monitor.pid
28
 
DEBIANCONFIG=/etc/default/mdadm
29
 
 
30
 
test -x "$MDADM" || exit 0
31
 
 
32
 
test -f /proc/mdstat || exit 0
33
 
 
34
 
START_DAEMON=true
35
 
test -f $DEBIANCONFIG && . $DEBIANCONFIG
36
 
 
37
 
. /lib/lsb/init-functions
38
 
 
39
 
is_true()
40
 
{
41
 
  case "${1:-}" in
42
 
    [Yy]es|[Yy]|1|[Tt]|[Tt]rue) return 0;;
43
 
    *) return 1;
44
 
  esac
45
 
}
46
 
 
47
 
case "${1:-}" in
48
 
  start)
49
 
    if is_true $START_DAEMON; then
50
 
      log_daemon_msg "Starting MD monitoring service" "mdadm --monitor"
51
 
      mkdir -p $RUNDIR
52
 
      set +e
53
 
      start-stop-daemon -S -p $PIDFILE -x $MDADM -- \
54
 
        --monitor --pid-file $PIDFILE --daemonise --scan ${DAEMON_OPTIONS:-}
55
 
      log_end_msg $?
56
 
      set -e
57
 
    fi
58
 
    if [ "$(echo $RUNDIR/md[0-9]*.pid)" != "$RUNDIR/md[0-9]*.pid" ]; then
59
 
      log_daemon_msg "Restarting MD external metadata monitor" "mdmon --takeover --all"
60
 
      set +e
61
 
      $MDMON --takeover --all
62
 
      log_end_msg $?
63
 
      set -e
64
 
    fi
65
 
    ;;
66
 
  stop)
67
 
    if [ -f $PIDFILE ] ; then
68
 
      log_daemon_msg "Stopping MD monitoring service" "mdadm --monitor"
69
 
      set +e
70
 
      start-stop-daemon -K -p $PIDFILE -x $MDADM
71
 
      rm -f $PIDFILE
72
 
      log_end_msg $?
73
 
      set -e
74
 
    fi
75
 
    for file in $RUNDIR/md[0-9]*.pid ; do
76
 
      [ ! -f "$file" ] && continue
77
 
      ln -sf $file /run/sendsigs.omit.d/mdmon-${file##*/}
78
 
    done
79
 
    ;;
80
 
  status)
81
 
    status_of_proc -p $PIDFILE "$MDADM" "mdadm" && exit 0 || exit $?
82
 
    ;;
83
 
  restart|reload|force-reload)
84
 
    ${0:-} stop
85
 
    ${0:-} start
86
 
    ;;
87
 
  *)
88
 
    echo "Usage: ${0:-} {start|stop|status|restart|reload|force-reload}" >&2
89
 
    exit 1
90
 
    ;;
91
 
esac
92
 
 
93
 
exit 0