]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
mdraid: try to start container childs manually with "mdadm -R"
authorHarald Hoyer <harald@redhat.com>
Fri, 16 Apr 2010 14:44:24 +0000 (16:44 +0200)
committerHarald Hoyer <harald@redhat.com>
Fri, 16 Apr 2010 15:59:48 +0000 (17:59 +0200)
modules.d/90mdraid/mdraid_start.sh

index 1701b6cb903842b2a3e38d76419195c31512a601..866267160c3bf446392db702646bd3faf89994cc 100755 (executable)
@@ -5,6 +5,18 @@
 info "Assembling MD RAID arrays"
 udevadm control --stop-exec-queue
 mdadm -IRs 2>&1 | vinfo
+
+# there could still be some leftover devices
+# which have had a container added
+for md in /dev/md[0-9]* /dev/md/*; do 
+       [ -b "$md" ] || continue
+       local udevinfo="$(udevadm info --query=env --name=$md)"
+       strstr "$udevinfo" "MD_UUID=" && continue
+       strstr "$udevinfo" "MD_LEVEL=container" && continue
+       strstr "$udevinfo" "DEVTYPE=partition" && continue
+       mdadm -R "$md" 2>&1 | vinfo
+done
+
 ln -s /sbin/mdraid-cleanup /pre-pivot/30-mdraid-cleanup.sh 2>/dev/null
 ln -s /sbin/mdraid-cleanup /pre-pivot/31-mdraid-cleanup.sh 2>/dev/null
 udevadm control --start-exec-queue