summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarald Hoyer <harald@redhat.com>2012-07-31 12:37:35 +0200
committerHarald Hoyer <harald@redhat.com>2012-07-31 12:37:35 +0200
commit5cd7c104bdf107ba005ce12f6e9955748caae0ea (patch)
tree55910f5349dd8e623f6a21ce7f9b35f3f991a96e
parent173edca09e9e59e762abf8723789e04dd31e87df (diff)
downloaddracut-5cd7c104bdf107ba005ce12f6e9955748caae0ea.tar.gz
dracut-5cd7c104bdf107ba005ce12f6e9955748caae0ea.tar.bz2
dracut-5cd7c104bdf107ba005ce12f6e9955748caae0ea.zip
document rd.retry and change the default value to 30s
Also start the timeout scripts after 2/3 of the time.
-rw-r--r--dracut.cmdline.7.asc6
-rwxr-xr-xmodules.d/98systemd/dracut-initqueue.sh4
-rwxr-xr-xmodules.d/99base/init.sh4
3 files changed, 10 insertions, 4 deletions
diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
index 884b2239..e27c1521 100644
--- a/dracut.cmdline.7.asc
+++ b/dracut.cmdline.7.asc
@@ -104,6 +104,12 @@ Misc
force loading kernel module <drivername> after all automatic loading modules
have been loaded. This parameter can be specified multiple times.
+**rd.retry=**_<seconds>_::
+ specify how long dracut should wait for devices to appear.
+ The default is 30 seconds. After 2/3 of the time, degraded raids are force
+ started and the timer is reset to 0. If you have hardware, which takes a very long
+ time to announce its drives, you might want to extend this value.
+
[[dracutkerneldebug]]
Debug
~~~~~
diff --git a/modules.d/98systemd/dracut-initqueue.sh b/modules.d/98systemd/dracut-initqueue.sh
index 1ee6be15..e9da432b 100755
--- a/modules.d/98systemd/dracut-initqueue.sh
+++ b/modules.d/98systemd/dracut-initqueue.sh
@@ -13,7 +13,7 @@ source_conf /etc/conf.d
getarg 'rd.break=initqueue' -d 'rdbreak=initqueue' && emergency_shell -n initqueue "Break before initqueue"
RDRETRY=$(getarg rd.retry -d 'rd_retry=')
-RDRETRY=${RDRETRY:-20}
+RDRETRY=${RDRETRY:-30}
RDRETRY=$(($RDRETRY*2))
export RDRETRY
@@ -52,7 +52,7 @@ while :; do
sleep 0.5
- if [ $main_loop -gt $(($RDRETRY/2)) ]; then
+ if [ $main_loop -gt $((2*$RDRETRY/3)) ]; then
for job in $hookdir/initqueue/timeout/*.sh; do
[ -e "$job" ] || break
job=$job . $job
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
index c33f1825..16c8958c 100755
--- a/modules.d/99base/init.sh
+++ b/modules.d/99base/init.sh
@@ -146,7 +146,7 @@ udevadm trigger --type=devices --action=add >/dev/null 2>&1
getarg 'rd.break=initqueue' -d 'rdbreak=initqueue' && emergency_shell -n initqueue "Break before initqueue"
RDRETRY=$(getarg rd.retry -d 'rd_retry=')
-RDRETRY=${RDRETRY:-20}
+RDRETRY=${RDRETRY:-30}
RDRETRY=$(($RDRETRY*2))
export RDRETRY
main_loop=0
@@ -183,7 +183,7 @@ while :; do
sleep 0.5
- if [ $main_loop -gt $(($RDRETRY/2)) ]; then
+ if [ $main_loop -gt $((2*$RDRETRY/3)) ]; then
for job in $hookdir/initqueue/timeout/*.sh; do
[ -e "$job" ] || break
job=$job . $job