diff options
Diffstat (limited to 'main/mdadm/mdadm-raid.initd')
-rw-r--r-- | main/mdadm/mdadm-raid.initd | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/main/mdadm/mdadm-raid.initd b/main/mdadm/mdadm-raid.initd index 73efbe8efd..4692f76534 100644 --- a/main/mdadm/mdadm-raid.initd +++ b/main/mdadm/mdadm-raid.initd @@ -6,12 +6,16 @@ depend() { after modules } +array_devices() { + awk '/^ARRAY/ {print $2}' /etc/mdadm.conf +} + start() { [ -f /etc/mdadm.conf ] || return 0 # start all devices that are not already started [ -f /proc/mdstat ] || modprobe -k md > /dev/null 2>&1 local tostart= - for i in $(awk '{print $2}' /etc/mdadm.conf); do + for i in $(array_devices); do [ -b "$i" ] && continue tostart="$tostart $i" done @@ -35,7 +39,7 @@ stop() { [ -f /etc/mdadm.conf ] || return 0 ebegin "Stopping RAID devices" local tostop= - for i in $(awk '{print $2}' /etc/mdadm.conf); do + for i in $(array_devices); do is_mounted_as $i / && continue tostop="$tostop $i" done |