summaryrefslogtreecommitdiff
path: root/debian/initramfs/script.local-block
diff options
context:
space:
mode:
Diffstat (limited to 'debian/initramfs/script.local-block')
-rw-r--r--debian/initramfs/script.local-block44
1 files changed, 44 insertions, 0 deletions
diff --git a/debian/initramfs/script.local-block b/debian/initramfs/script.local-block
new file mode 100644
index 00000000..e9b47c3d
--- /dev/null
+++ b/debian/initramfs/script.local-block
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+PREREQ="multipath"
+
+prereqs()
+{
+ echo "$PREREQ"
+}
+
+case $1 in
+# get pre-requisites
+prereqs)
+ prereqs
+ exit 0
+ ;;
+esac
+
+# Poor man's mdadm-last-resort@.timer
+# That kicks in 2/3rds into the ROOTDELAY
+
+if [ ! -f /run/count.mdadm.initrd ]
+then
+ COUNT=0
+else
+ COUNT=$(cat /run/count.mdadm.initrd)
+fi
+COUNT=$((COUNT + 1))
+
+echo $COUNT > /run/count.mdadm.initrd
+
+MAX=30
+if [ ${ROOTDELAY:-0} -gt $MAX ]; then
+ MAX=$ROOTDELAY
+fi
+MAX=$((MAX*2/3))
+
+if [ "$COUNT" = "$MAX" ]
+then
+ # Poor man's mdadm-last-resort@.service
+ mdadm -q --run /dev/md?*
+ rm -f /run/count.mdadm.initrd
+fi
+
+exit 0