summaryrefslogtreecommitdiff
path: root/scripts/local-top/md
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/local-top/md')
-rw-r--r--scripts/local-top/md11
1 files changed, 9 insertions, 2 deletions
diff --git a/scripts/local-top/md b/scripts/local-top/md
index 062852f..48c3ce6 100644
--- a/scripts/local-top/md
+++ b/scripts/local-top/md
@@ -15,7 +15,14 @@ prereqs)
;;
esac
-# FIXME detect this!
-modprobe raid1
+unset raidlvl
+
+# Detect raid level
+for x in /dev/hd* /dev/sd*; do
+ raidlvl=$(mdadm --examine ${x} | grep "Level" | sed -e 's/.*Raid Level : \(.*\)/\1/')
+ modprobe -q ${raidlvl}
+done
+
+[ x${raidlvl} != x ] || return
/sbin/mdrun /dev