Implement 'rd.timeout' to modify the device timeout
When generating units for devices the administrator might want to use a different timeout than the default. So implement a new parameter 'rd.timeout' for this. References: bnc#878770 Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Thomas Renninger <trenn@suse.de>master
parent
f34a2ef14d
commit
56663e7e32
|
@ -142,11 +142,16 @@ Misc
|
||||||
have been loaded. This parameter can be specified multiple times.
|
have been loaded. This parameter can be specified multiple times.
|
||||||
|
|
||||||
**rd.retry=**__<seconds>__::
|
**rd.retry=**__<seconds>__::
|
||||||
specify how long dracut should wait for devices to appear.
|
specify how long dracut should retry the initqueue to configure devices.
|
||||||
The default is 30 seconds. After 2/3 of the time, degraded raids are force
|
The default is 30 seconds. After 2/3 of the time, degraded raids are force
|
||||||
started. If you have hardware, which takes a very long time to announce its
|
started. If you have hardware, which takes a very long time to announce its
|
||||||
drives, you might want to extend this value.
|
drives, you might want to extend this value.
|
||||||
|
|
||||||
|
**rd.timeout=**__<seconds>__::
|
||||||
|
specify how long dracut should wait for devices to appear. The
|
||||||
|
default is '0', which means 'forever'. Note that this timeout
|
||||||
|
should be longer than rd.retry to allow for proper configuration.
|
||||||
|
|
||||||
**rd.noverifyssl**::
|
**rd.noverifyssl**::
|
||||||
accept self-signed certificates for ssl downloads.
|
accept self-signed certificates for ssl downloads.
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,11 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
|
||||||
generator_wait_for_dev()
|
generator_wait_for_dev()
|
||||||
{
|
{
|
||||||
local _name
|
local _name
|
||||||
|
local _timeout
|
||||||
|
|
||||||
_name="$(str_replace "$1" '/' '\x2f')"
|
_name="$(str_replace "$1" '/' '\x2f')"
|
||||||
|
_timeout=$(getarg rd.timeout)
|
||||||
|
_timeout=${_timeout:-0}
|
||||||
|
|
||||||
[ -e "$hookdir/initqueue/finished/devexists-${_name}.sh" ] && return 0
|
[ -e "$hookdir/initqueue/finished/devexists-${_name}.sh" ] && return 0
|
||||||
|
|
||||||
|
@ -27,7 +30,7 @@ generator_wait_for_dev()
|
||||||
mkdir -p /run/systemd/generator/${_name}.device.d
|
mkdir -p /run/systemd/generator/${_name}.device.d
|
||||||
{
|
{
|
||||||
echo "[Unit]"
|
echo "[Unit]"
|
||||||
echo "JobTimeoutSec=0"
|
echo "JobTimeoutSec=$_timeout"
|
||||||
} > /run/systemd/generator/${_name}.device.d/timeout.conf
|
} > /run/systemd/generator/${_name}.device.d/timeout.conf
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -58,6 +61,6 @@ case "$root" in
|
||||||
rootok=1 ;;
|
rootok=1 ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
[ "${root%%:*}" = "block" ] && generator_wait_for_dev "${root#block:}"
|
[ "${root%%:*}" = "block" ] && generator_wait_for_dev "${root#block:}" "$RDRETRY"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
@ -890,12 +890,16 @@ wait_for_dev()
|
||||||
local _name
|
local _name
|
||||||
local _needreload
|
local _needreload
|
||||||
local _noreload
|
local _noreload
|
||||||
|
local _timeout
|
||||||
|
|
||||||
if [ "$1" = "-n" ]; then
|
if [ "$1" = "-n" ]; then
|
||||||
_noreload=1
|
_noreload=1
|
||||||
shift
|
shift
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
_timeout=$(getarg rd.timeout)
|
||||||
|
_timeout=${_timeout:-0}
|
||||||
|
|
||||||
_name="$(str_replace "$1" '/' '\x2f')"
|
_name="$(str_replace "$1" '/' '\x2f')"
|
||||||
|
|
||||||
type mark_hostonly >/dev/null 2>&1 && mark_hostonly "$hookdir/initqueue/finished/devexists-${_name}.sh"
|
type mark_hostonly >/dev/null 2>&1 && mark_hostonly "$hookdir/initqueue/finished/devexists-${_name}.sh"
|
||||||
|
@ -922,7 +926,7 @@ wait_for_dev()
|
||||||
mkdir -p ${PREFIX}/etc/systemd/system/${_name}.device.d
|
mkdir -p ${PREFIX}/etc/systemd/system/${_name}.device.d
|
||||||
{
|
{
|
||||||
echo "[Unit]"
|
echo "[Unit]"
|
||||||
echo "JobTimeoutSec=0"
|
echo "JobTimeoutSec=$_timeout"
|
||||||
} > ${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf
|
} > ${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf
|
||||||
type mark_hostonly >/dev/null 2>&1 && mark_hostonly /etc/systemd/system/${_name}.device.d/timeout.conf
|
type mark_hostonly >/dev/null 2>&1 && mark_hostonly /etc/systemd/system/${_name}.device.d/timeout.conf
|
||||||
_needreload=1
|
_needreload=1
|
||||||
|
|
Loading…
Reference in New Issue