Merge pull request #58 from dracut-mailing-devs/20150326044148.10121.15286.stgit@notabene.brown
mdraid fixesmaster
commit
3b1d78880f
|
@ -14,6 +14,10 @@ else
|
|||
LUKS=$(getargs rd.luks.uuid -d rd_LUKS_UUID)
|
||||
tout=$(getarg rd.luks.key.tout)
|
||||
|
||||
while read _mapper _dev _rest ; do
|
||||
set_systemd_timeout_for_dev $_dev
|
||||
done < /etc/crypttab
|
||||
|
||||
if [ -n "$LUKS" ]; then
|
||||
for luksid in $LUKS; do
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@ _md_force_run() {
|
|||
|
||||
_path_d="${_path_s%/*}/degraded"
|
||||
[ ! -r "$_path_d" ] && continue
|
||||
> $hookdir/initqueue/work
|
||||
done
|
||||
}
|
||||
|
||||
|
|
|
@ -60,6 +60,7 @@ while :; do
|
|||
job=$job . $job
|
||||
udevadm settle --timeout=0 >/dev/null 2>&1 || main_loop=0
|
||||
[ -f $hookdir/initqueue/work ] && main_loop=0
|
||||
[ $main_loop -eq 0 ] && break
|
||||
done
|
||||
fi
|
||||
|
||||
|
|
|
@ -11,14 +11,15 @@ generator_wait_for_dev()
|
|||
_timeout=$(getarg rd.timeout)
|
||||
_timeout=${_timeout:-0}
|
||||
|
||||
[ -e "$hookdir/initqueue/finished/devexists-${_name}.sh" ] && return 0
|
||||
if ! [ -e "$hookdir/initqueue/finished/devexists-${_name}.sh" ]; then
|
||||
|
||||
printf '[ -e "%s" ]\n' $1 \
|
||||
>> "$hookdir/initqueue/finished/devexists-${_name}.sh"
|
||||
{
|
||||
printf '[ -e "%s" ] || ' $1
|
||||
printf 'warn "\"%s\" does not exist"\n' $1
|
||||
} >> "$hookdir/emergency/80-${_name}.sh"
|
||||
printf '[ -e "%s" ]\n' $1 \
|
||||
>> "$hookdir/initqueue/finished/devexists-${_name}.sh"
|
||||
{
|
||||
printf '[ -e "%s" ] || ' $1
|
||||
printf 'warn "\"%s\" does not exist"\n' $1
|
||||
} >> "$hookdir/emergency/80-${_name}.sh"
|
||||
fi
|
||||
|
||||
_name=$(dev_unit_name "$1")
|
||||
if ! [ -L /run/systemd/generator/initrd.target.wants/${_name}.device ]; then
|
||||
|
|
|
@ -897,12 +897,10 @@ dev_unit_name()
|
|||
printf -- "%s" "$dev"
|
||||
}
|
||||
|
||||
# wait_for_dev <dev>
|
||||
#
|
||||
# Installs a initqueue-finished script,
|
||||
# which will cause the main loop only to exit,
|
||||
# if the device <dev> is recognized by the system.
|
||||
wait_for_dev()
|
||||
# set_systemd_timeout_for_dev <dev>
|
||||
# Set 'rd.timeout' as the systemd timeout for <dev>
|
||||
|
||||
set_systemd_timeout_for_dev()
|
||||
{
|
||||
local _name
|
||||
local _needreload
|
||||
|
@ -917,19 +915,6 @@ wait_for_dev()
|
|||
_timeout=$(getarg rd.timeout)
|
||||
_timeout=${_timeout:-0}
|
||||
|
||||
_name="$(str_replace "$1" '/' '\x2f')"
|
||||
|
||||
type mark_hostonly >/dev/null 2>&1 && mark_hostonly "$hookdir/initqueue/finished/devexists-${_name}.sh"
|
||||
|
||||
[ -e "${PREFIX}$hookdir/initqueue/finished/devexists-${_name}.sh" ] && return 0
|
||||
|
||||
printf '[ -e "%s" ]\n' $1 \
|
||||
>> "${PREFIX}$hookdir/initqueue/finished/devexists-${_name}.sh"
|
||||
{
|
||||
printf '[ -e "%s" ] || ' $1
|
||||
printf 'warn "\"%s\" does not exist"\n' $1
|
||||
} >> "${PREFIX}$hookdir/emergency/80-${_name}.sh"
|
||||
|
||||
if [ -n "$DRACUT_SYSTEMD" ]; then
|
||||
_name=$(dev_unit_name "$1")
|
||||
if ! [ -L ${PREFIX}/etc/systemd/system/initrd.target.wants/${_name}.device ]; then
|
||||
|
@ -954,6 +939,36 @@ wait_for_dev()
|
|||
fi
|
||||
fi
|
||||
}
|
||||
# wait_for_dev <dev>
|
||||
#
|
||||
# Installs a initqueue-finished script,
|
||||
# which will cause the main loop only to exit,
|
||||
# if the device <dev> is recognized by the system.
|
||||
wait_for_dev()
|
||||
{
|
||||
local _name
|
||||
local _noreload
|
||||
|
||||
if [ "$1" = "-n" ]; then
|
||||
_noreload=-n
|
||||
shift
|
||||
fi
|
||||
|
||||
_name="$(str_replace "$1" '/' '\x2f')"
|
||||
|
||||
type mark_hostonly >/dev/null 2>&1 && mark_hostonly "$hookdir/initqueue/finished/devexists-${_name}.sh"
|
||||
|
||||
[ -e "${PREFIX}$hookdir/initqueue/finished/devexists-${_name}.sh" ] && return 0
|
||||
|
||||
printf '[ -e "%s" ]\n' $1 \
|
||||
>> "${PREFIX}$hookdir/initqueue/finished/devexists-${_name}.sh"
|
||||
{
|
||||
printf '[ -e "%s" ] || ' $1
|
||||
printf 'warn "\"%s\" does not exist"\n' $1
|
||||
} >> "${PREFIX}$hookdir/emergency/80-${_name}.sh"
|
||||
|
||||
set_systemd_timeout_for_dev $_noreload $1
|
||||
}
|
||||
|
||||
cancel_wait_for_dev()
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue