diff options
-rw-r--r-- | scripts/local-top/lvm | 8 | ||||
-rw-r--r-- | scripts/local-top/md | 11 |
2 files changed, 16 insertions, 3 deletions
diff --git a/scripts/local-top/lvm b/scripts/local-top/lvm index 8fcb234..4f199de 100644 --- a/scripts/local-top/lvm +++ b/scripts/local-top/lvm @@ -15,4 +15,10 @@ prereqs) ;; esac -vgchange -ay +vg=$(echo ${ROOT} | sed -e 's#/dev/mapper/\(.*\)-.*#\1#') + +[ x${vg} != x ] || return + +modprobe -q dm-mod + +vgchange -ay ${vg} 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 |