From 910e28f2b4651d0e8533c577d3bc65338cea69f8 Mon Sep 17 00:00:00 2001 From: Yann Soubeyrand Date: Tue, 10 Nov 2015 10:18:39 +0000 Subject: mdadm (3.3.4-1.1) unstable; urgency=medium * Non-maintainer upload. * disable-incremental-assembly.patch: incremental assembly prevents booting in degraded mode (Closes: #784070) # imported from the archive --- debian/mdadm-waitidle | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 debian/mdadm-waitidle (limited to 'debian/mdadm-waitidle') diff --git a/debian/mdadm-waitidle b/debian/mdadm-waitidle new file mode 100644 index 00000000..920272c7 --- /dev/null +++ b/debian/mdadm-waitidle @@ -0,0 +1,56 @@ +#!/bin/sh +# This script is not used when systemd is running +### BEGIN INIT INFO +# Provides: mdadm-waitidle +# Required-Start: +# Required-Stop: +# Should-Stop: halt reboot kexec +# X-Stop-After: umountroot +# Default-Start: +# Default-Stop: 0 6 +# Short-Description: Wait for MD arrays to become idle +# Description: Waits until all MD arrays are in idle and synced state +# before halt/reboot. +### END INIT INFO +# +set -eu + +MDADM=/sbin/mdadm +test -x "$MDADM" || exit 0 +test -f /proc/mdstat || exit 0 + +. /lib/lsb/init-functions + +case "${1:-}" in + + start|restart|force-reload) + # nothing, the only reason the script is here is to stop arrays + ;; + + stop) + sync + wait= + for md in /sys/block/md*/md ; do + [ -d "$md" ] || continue + [ "$wait" ] || log_action_begin_msg "Waiting for MD arrays to become idle" + wait=y + [ -w $md/sync_action ] && echo idle > $md/sync_action + done + if [ "$wait" ]; then + # mdadm --wait-clean has a short internal timeout + if $MDADM --wait-clean --scan; then + log_action_end_msg 0 + else + log_action_end_msg 1 + sleep 1 + fi + fi + ;; + + *) + echo "Usage: ${0:-} stop" >&2 + exit 1;; + +esac + +exit 0 -- cgit v1.2.3