On Wed, Mar 15, 2023 at 11:39:59AM +0100, Philipp Rudo wrote:
Hi Coiby,
On Wed, 15 Mar 2023 17:59:06 +0800 Coiby Xu coxu@redhat.com wrote:
Hi Philipp,
On Thu, Jan 12, 2023 at 04:43:45PM +0100, Philipp Rudo wrote:
Hi Coiby,
On Tue, 27 Dec 2022 09:26:23 +0800 Coiby Xu coxu@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'").
I don't understand why this was designed the way it is. Personally I would have treated the dracut_args and nfs directive identical and would simply have added a "--no-mount" option... Anyway that's nothing we can change right now. So your patch looks like a valid workaround to me.
Thanks for reviewing the patch! Could I have you Reviewed-by or Acked-by if it looks good to you.
sure
Reviewed-by: Philipp Rudo prudo@redhat.com
The patch has been merged, thanks!