Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:GA
dracut.1835
0097-Implement-rd.timeout-to-modify-the-device-...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0097-Implement-rd.timeout-to-modify-the-device-timeout.patch of Package dracut.1835
From 59be707744473b82f2ae6d14a159fbf94834d4b6 Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <hare@suse.de> Date: Thu, 3 Jul 2014 11:21:29 +0200 Subject: 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> --- dracut.cmdline.7.asc | 7 ++++++- modules.d/98systemd/rootfs-generator.sh | 7 +++++-- modules.d/99base/dracut-lib.sh | 6 +++++- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc index 84fe794..2dc795b 100644 --- a/dracut.cmdline.7.asc +++ b/dracut.cmdline.7.asc @@ -117,11 +117,16 @@ Misc have been loaded. This parameter can be specified multiple times. **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 started. If you have hardware, which takes a very long time to announce its 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**:: accept self-signed certificates for ssl downloads. diff --git a/modules.d/98systemd/rootfs-generator.sh b/modules.d/98systemd/rootfs-generator.sh index 2c09895..a2b71ff 100755 --- a/modules.d/98systemd/rootfs-generator.sh +++ b/modules.d/98systemd/rootfs-generator.sh @@ -7,8 +7,11 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh generator_wait_for_dev() { local _name + local _timeout _name="$(str_replace "$1" '/' '\x2f')" + _timeout=$(getarg rd.timeout) + _timeout=${_timeout:-0} [ -e "$hookdir/initqueue/finished/devexists-${_name}.sh" ] && return 0 @@ -29,7 +32,7 @@ generator_wait_for_dev() mkdir -p /run/systemd/generator/${_name}.device.d { echo "[Unit]" - echo "JobTimeoutSec=0" + echo "JobTimeoutSec=$_timeout" } > /run/systemd/generator/${_name}.device.d/timeout.conf fi } @@ -60,6 +63,6 @@ case "$root" in rootok=1 ;; esac -[ "${root%%:*}" = "block" ] && generator_wait_for_dev "${root#block:}" +[ "${root%%:*}" = "block" ] && generator_wait_for_dev "${root#block:}" "$RDRETRY" exit 0 diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh index 33f7678..5a867b8 100755 --- a/modules.d/99base/dracut-lib.sh +++ b/modules.d/99base/dracut-lib.sh @@ -876,12 +876,16 @@ wait_for_dev() local _name local _needreload local _noreload + local _timeout if [ "$1" = "-n" ]; then _noreload=1 shift fi + _timeout=$(getarg rd.timeout) + _timeout=${_timeout:-0} + _name="$(str_replace "$1" '/' '\x2f')" [ -e "${PREFIX}$hookdir/initqueue/finished/devexists-${_name}.sh" ] && return 0 @@ -905,7 +909,7 @@ wait_for_dev() mkdir -p ${PREFIX}/etc/systemd/system/${_name}.device.d { echo "[Unit]" - echo "JobTimeoutSec=0" + echo "JobTimeoutSec=$_timeout" } > ${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf _needreload=1 fi -- 1.8.4.5
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor