Browse Source

90mdraid/mdraid-waitclean.sh: add rd.md.waitclean parameter

add rd.md.waitclean parameter, which defaults to 0
https://bugzilla.redhat.com/show_bug.cgi?id=759148
master
Harald Hoyer 13 years ago
parent
commit
452e46dbfc
  1. 8
      dracut.kernel.7.xml
  2. 39
      modules.d/90mdraid/mdraid-waitclean.sh

8
dracut.kernel.7.xml

@ -357,6 +357,14 @@ This parameter can be specified multiple times.</para> @@ -357,6 +357,14 @@ This parameter can be specified multiple times.</para>
<para>ignore mdadm.conf included in initramfs</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<envar>rd.md.waitclean</envar>=1
</term>
<listitem>
<para>wait for any resync, recovery, or reshape activity to finish before continuing</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<envar>rd.md.uuid=<replaceable>&lt;md raid uuid&gt;</replaceable></envar>

39
modules.d/90mdraid/mdraid-waitclean.sh

@ -2,24 +2,25 @@ @@ -2,24 +2,25 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh

type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
if getargbool 0 rd.md.waitclean; then
type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
containers=""
for md in /dev/md[0-9_]*; do
[ -b "$md" ] || continue
udevinfo="$(udevadm info --query=env --name=$md)"
strstr "$udevinfo" "DEVTYPE=partition" && continue
if strstr "$udevinfo" "MD_LEVEL=container"; then
containers="$containers $md"
continue
fi
info "Waiting for $md to become clean"
mdadm -W "$md" >/dev/null 2>&1
done

containers=""
for md in /dev/md[0-9_]*; do
[ -b "$md" ] || continue
udevinfo="$(udevadm info --query=env --name=$md)"
strstr "$udevinfo" "DEVTYPE=partition" && continue
if strstr "$udevinfo" "MD_LEVEL=container"; then
containers="$containers $md"
continue
fi
info "Waiting for $md to become clean"
mdadm -W "$md" >/dev/null 2>&1
done
for md in $containers; do
info "Waiting for $md to become clean"
mdadm -W "$md" >/dev/null 2>&1
done

for md in $containers; do
info "Waiting for $md to become clean"
mdadm -W "$md" >/dev/null 2>&1
done

unset containers udevinfo
unset containers udevinfo
fi

Loading…
Cancel
Save