summaryrefslogtreecommitdiff
path: root/debian/mdadm.init
diff options
context:
space:
mode:
authorMichael Tokarev <mjt@tls.msk.ru>2012-10-28 21:11:09 +0400
committerMichael Tokarev <mjt@tls.msk.ru>2012-10-28 21:11:09 +0400
commit80f857c527846749601e6b3aac1f995b619ac9f3 (patch)
tree3e3853b9c1428670518e8bf6b0d181fa5337fdae /debian/mdadm.init
parentdf370a533916769caf91083b683485652970db2e (diff)
add support for mdmon based on changed by Miquel van Smoorenburg (#684708)
Diffstat (limited to 'debian/mdadm.init')
-rw-r--r--debian/mdadm.init14
1 files changed, 13 insertions, 1 deletions
diff --git a/debian/mdadm.init b/debian/mdadm.init
index 64e6d720..d8855f61 100644
--- a/debian/mdadm.init
+++ b/debian/mdadm.init
@@ -9,7 +9,7 @@
### BEGIN INIT INFO
# Provides: mdadm
# Required-Start: $local_fs $syslog mdadm-raid
-# Required-Stop: $local_fs $syslog mdadm-raid
+# Required-Stop: $local_fs $syslog sendsigs mdadm-raid
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: MD monitoring daemon
@@ -22,6 +22,7 @@
set -eu
MDADM=/sbin/mdadm
+MDMON=/sbin/mdmon
RUNDIR=/run/mdadm
PIDFILE=$RUNDIR/monitor.pid
DEBIANCONFIG=/etc/default/mdadm
@@ -54,6 +55,13 @@ case "${1:-}" in
log_end_msg $?
set -e
fi
+ if [ "$(echo $RUNDIR/md[0-9]*.pid)" != "$RUNDIR/md[0-9]*.pid" ]; then
+ log_daemon_msg "Restarting MD external metadata monitor" "mdmon --takeover --all"
+ set +e
+ $MDMON --takeover --all
+ log_end_msg $?
+ set -e
+ fi
;;
stop)
if [ -f $PIDFILE ] ; then
@@ -64,6 +72,10 @@ case "${1:-}" in
log_end_msg $?
set -e
fi
+ for file in $RUNDIR/md[0-9]*.pid ; do
+ [ ! -f "$file" ] && continue
+ ln -sf $file /run/sendsigs.omit.d/mdmon-${file##*/}
+ done
;;
status)
status_of_proc -p $PIDFILE "$MDADM" "mdadm" && exit 0 || exit $?