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=759148master
parent
7eb8797b81
commit
452e46dbfc
|
@ -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><md raid uuid></replaceable></envar>
|
||||
|
|
|
@ -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…
Reference in New Issue