summaryrefslogtreecommitdiff
path: root/debian/mdadm-startall
diff options
context:
space:
mode:
Diffstat (limited to 'debian/mdadm-startall')
-rw-r--r--debian/mdadm-startall31
1 files changed, 31 insertions, 0 deletions
diff --git a/debian/mdadm-startall b/debian/mdadm-startall
new file mode 100644
index 00000000..aa947b01
--- /dev/null
+++ b/debian/mdadm-startall
@@ -0,0 +1,31 @@
+#!/bin/sh
+#
+# startall -- starts all existing arrays after creating mdadm.conf
+# overrides the AUTOSTART variable in /etc/default/mdadm
+#
+# Copyright © martin f. krafft <madduck@madduck.net>
+# distributed under the terms of the Artistic Licence 2.0
+#
+set -eu
+
+CONFIG=/etc/mdadm/mdadm.conf
+ALTCONFIG=/etc/mdadm.conf
+
+modprobe -q md 2>/dev/null || :
+
+[ ! -f $CONFIG ] && [ -f $ALTCONFIG ] && CONFIG=$ALTCONFIG
+
+if ! grep -q '^ARRAY' $CONFIG 2>/dev/null; then
+ /usr/share/mdadm/mkconf force-generate || ret=$?
+ case ${ret:-0} in
+ 0) :;;
+ *)
+ echo E: mdadm: mdadm.conf creation failed, aborting. >&2
+ exit $ret
+ ;;
+ esac
+else
+ echo W: mdadm: using ARRAYs defined in existing mdadm.conf. >&2
+fi
+
+MDADM_FORCE_AUTOSTART__=1 exec /etc/init.d/mdadm-raid start