Hi Dave,
On Mon, Jan 09, 2023 at 11:48:52AM +0800, RuiRui Yang wrote:
>Hi Coiby,
>
>On Tue, 27 Dec 2022 at 09:26, Coiby Xu <coxu(a)redhat.com> wrote:
>>
>> Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=2140721
>>
>> Currently, if users specify dumping to nfsv4 target via
>> dracut_args --mount "<NFS-server-ip>:/var/crash /mnt nfs
defaults"
>> it fails with the following errors,
>> [ 5.159760] mount[446]: mount.nfs: Protocol not supported
>> [ 5.164502] systemd[1]: mnt.mount: Mount process exited, code=exited,
status=32/n/a
>> [ 5.167616] systemd[1]: mnt.mount: Failed with result
'exit-code'.
>> [FAILED] Failed to mount /mnt.
>>
>> This is because nfsv4-releted drivers are not installed to kdump initrd.
>> mkdumprd calls dracut with "--hostonly-mode strict". If nfsv4-related
>> drivers aren't loaded before calling dracut, they won't be installed.
>> When users specify nfs dumping via dracut_args, kexec-tools won't mount
>> the nfs fs beforehand hence nfsv4-related drivers won't be installed.
>> Note dracut only installs the nfs driver i.e. nfsv3 driver for "--mount
>> ... nfs". So also install nfsv4-related drivers when users specify nfs
>> dumping via dracut_args. Since nfs_layout_nfsv41_files depends on nfsv4,
>> the nfsv4 driver will be installed automatically.
>>
>> As for the reason why we support nfs dumping via dracut_args instead of
>> asking user to use the nfs directive, please refer to commit 74c6f464
>> ("Support special mount information via 'dracut_args'").
>>
>> Fixes: 4eedcae5 ("dracut-module-setup.sh: don't include
multipath-hostonly")
>> Reported-by: rcheerla(a)redhat.com
>> Signed-off-by: Coiby Xu <coxu(a)redhat.com>
>> ---
>> mkdumprd | 9 +++++++++
>> 1 file changed, 9 insertions(+)
>>
>> diff --git a/mkdumprd b/mkdumprd
>> index 3e250e02..51ca4f01 100644
>> --- a/mkdumprd
>> +++ b/mkdumprd
>> @@ -420,6 +420,15 @@ while read -r config_opt config_val; do
>> verify_core_collector "$config_val"
>> ;;
>> dracut_args)
>> +
>> + # When users specify nfs dumping via dracut_args, kexec-tools
won't
>> + # mount nfs fs beforehand thus nfsv4-related drivers won't
be installed
>> + # because we call dracut with --hostonly-mode strict. So
manually install
>> + # nfsv4-related drivers.
>> + if [[ $(get_dracut_args_fstype "$config_val") == nfs*
]]; then
>> + add_dracut_arg "--add-drivers"
nfs_layout_nfsv41_files
>> + fi
>> +
>
>kdump is heavily depending on hostonly logic, so if people do not need
>the module in 1st kernel then it sounds like reasonable to exclude the
>driver. But --mount is a dracut option, so if people pass --mount -t
>fs-type, dracut should install the fs-type kernel modules, so it
>sounds better to be fixed in dracut. But I have not followed up the
>code for long time I may miss things.
Thanks for the suggestion! Initially I also thought it should be fixed in
dracut. But the purpose of " --hostonly-mode strict" is to only install
drivers
needed by kdump. If we install both NFSv3 and NFSv4 drivers for "--mount"
regardless of the version of NFS, this is against the design of
"--hostonly-mode strict".
Hi Coiby, I think it depends on how we think about it, anyway I do not
have a strong opinion about this, this is just a heads up. Please just
choose the best and see if there are other concerns from other people.
Thanks!
>
>
>> while read -r dracut_arg; do
>> add_dracut_arg "$dracut_arg"
>> done <<< "$(echo "$config_val" | xargs
-n 1 echo)"
>> --
>> 2.38.1
>> _______________________________________________
>> kexec mailing list -- kexec(a)lists.fedoraproject.org
>> To unsubscribe send an email to kexec-leave(a)lists.fedoraproject.org
>> Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
>> List Guidelines:
https://fedoraproject.org/wiki/Mailing_list_guidelines
>> List Archives:
https://lists.fedoraproject.org/archives/list/kexec@lists.fedoraproject.org
>> Do not reply to spam, report it:
https://pagure.io/fedora-infrastructure/new_issue
>
>Thanks
>Dave
>
--
Best regards,
Coiby