diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 17:43:00 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 17:43:00 +0000 |
commit | 89853c290fd822a88c56150dde50aaa1421c0c8c (patch) | |
tree | c88de9d39f187cf339e1add1f768bbda4a61130f /debian/mdadm-waitidle | |
parent | Adding upstream version 4.2. (diff) | |
download | mdadm-89853c290fd822a88c56150dde50aaa1421c0c8c.tar.xz mdadm-89853c290fd822a88c56150dde50aaa1421c0c8c.zip |
Adding debian version 4.2-5.debian/4.2-5debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/mdadm-waitidle')
-rw-r--r-- | debian/mdadm-waitidle | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/debian/mdadm-waitidle b/debian/mdadm-waitidle new file mode 100644 index 0000000..b986f1e --- /dev/null +++ b/debian/mdadm-waitidle @@ -0,0 +1,60 @@ +#!/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 + ;; + + status) + status_of_proc /usr/bin/$NAME $NAME + ;; + + *) + echo "Usage: ${0:-} stop" >&2 + exit 1;; + +esac + +exit 0 |