On 07/26/2017 at 06:33 PM, Baoquan He wrote:
On 07/26/17 at 05:54pm, Xunlei Pang wrote:
> On 07/26/2017 at 05:38 PM, Xunlei Pang wrote:
>> On 07/26/2017 at 04:51 PM, Baoquan He wrote:
>>> On 07/26/17 at 04:12pm, Xunlei Pang wrote:
>>>> Currently, systemd uses 90s as the default mount unit timeout,
>>>> in some cases, it's not enough and results in mount timeout
>>>> further results in kdump dumping failure, but the device can
>>>> actually be ready after a while. We've met several such issues.
>>>>
>>>> So, we add a "x-systemd.device-timeout=600"(600s should be
long
>>>> enough) as the default timeout to the mount options if there is
>>>> no "x-systemd.device-timeout=X" specified. It can be
overridden
>>>> by /etc/fstab mount options, so that users can specify other
>>>> timeout values if they want to.
>>>>
>>>> Note: this is different from rd.timeout which was introduced by
>>>> dracut initqueue.
>>> So what if add rd.timeout=xxx meantime?
>> If the device is not added into initqueue, it doesn't matter.
>> For example, multipath device, there is no wait_for_dev() call for it.
> As for devices like lvm volumes, the default dracut rd.timeout will happen
> before systemd mount after this patch, I can't see any problem here currently.
>
> Maybe we can also define kdump's default value of rd.retry and rd.timeout,
> anyway I think that should be a different issue from this patch tries to solve.
Kdump is thin version of normal kernel, should need less time than
normal kernel. So if normal kernel works, then no reason kdump need more
time. if more time needed, normal kernel need too.
What you said is a good point, however it is not always the case according
to our tests and issues we've met that timeout happened only under kdump.
kdump and normal kdump are a bit different, for example the first(root)
mount may be different after the "remove root=X" feature on Fedora.
Different boot cmdlines(like nr_cpus=1) might affect the boot process,
there will less components under kdump than normal kernel, different
hardware status due to hot reboot, etc.
So my point is that kdump mount happens at a different time/stage as that
under normal kernel, one notably fact is that normal kernel mount happens
after switch-root to the real root fs, while kdump kernel happens at the
initramfs stage.
Regards,
Xunlei
Just pass by, Dave must has better comment.
>> systemd mount unit is a different task from dracut initqueue, I think
>> they are running parallelly.
>>
>> Regards,
>> Xunlei
>>
>>>> Signed-off-by: Xunlei Pang <xlpang(a)redhat.com>
>>>> ---
>>>> mkdumprd | 5 +++++
>>>> 1 file changed, 5 insertions(+)
>>>>
>>>> diff --git a/mkdumprd b/mkdumprd
>>>> index d3ecbd6..30f8ba6 100644
>>>> --- a/mkdumprd
>>>> +++ b/mkdumprd
>>>> @@ -104,6 +104,11 @@ to_mount() {
>>>> _options=$(echo $_options | sed 's/noauto//')
>>>> _options=${_options/#ro/rw} #mount fs target as rw in 2nd kernel
>>>>
>>>> + # use 600s as default systemd mount timeout if none
>>>> + if ! strstr $_options "x-systemd.device-timeout"; then
>>>> + _options="$_options,x-systemd.device-timeout=600"
>>>> + fi
>>>> +
>>>> _mntopts="$_target $_fstype $_options"
>>>> #for non-nfs _dev converting to use udev persistent name
>>>> if [ -b "$_source" ]; then
>>>> --
>>>> 1.8.3.1
>>>> _______________________________________________
>>>> kexec mailing list -- kexec(a)lists.fedoraproject.org
>>>> To unsubscribe send an email to kexec-leave(a)lists.fedoraproject.org
> _______________________________________________
> kexec mailing list -- kexec(a)lists.fedoraproject.org
> To unsubscribe send an email to kexec-leave(a)lists.fedoraproject.org