NFSv4 deprecated options

I’m having trouble with some deprecated options when setting up an NFS4 client. Yast says that some options are deprecated like ‘fatal_neterrors=none’ and some other. Here is the complete line of options that Yast takes from somewhere and complains about:

rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,soft,fatal_neterrors=none,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.4.9,local_lock=none,addr=192.168.4.7

I have no Idea where this stuff comes from, except the IP of the NFS4 server of course. Whenever I remove the deprecated options (via Yast), they are back again when I look up the settings the next time. Any ideas ?

From the kernel which shows also implicit options.

ok, then it seems to be something wrong with the kernel. It is version 6.15.4-1-default. How can I get rid of the deprecated options like ‘fatal_neterrors=none’ ?

What makes you think so?

This option was added 5 months ago. When did it become deprecated?

I don’t know when it was deprecated. There are other options which are also no longer used like ‘local_lock’, ‘addr’.

I wonder whether I’m the only one who in trouble with these options.

maybe you could provide some logs of the error you’re seeing instead of trying to vaguely describe them

Why don’t you remove the deprecated options directly from the entry in /etc/fstab? It looks like your stanza has been in existence since NFSv3 (and not updated)?

Options that are deprecated or irrelevant for NFSv4:

  • “fatal_neterrors=none” is deprecated. This was an old option for NFSv3 error handling. Not meaningful in NFSv4.

  • “proto=tcp” is not required. NFSv4 only uses TCP.

  • “namelen=255” deprecated and will be ignored anyway.

  • “cientaddr=” is deprecated. It is detected automatically.

  • “rsize/wsize” is usually negotiated automatically, not explicitly set for most environments.

This is a simplified stanza (for current typical NFSv4 environments) to start from
rw,relatime,vers=4.2,hard,timeo=600,retrans=2,sec=sys

Refer man nfs for more info.
https://man7.org/linux/man-pages/man5/nfs.5.html

Also refer to the following section regarding hard/soft behaviour

soft / softerr / hard
Determines the recovery behavior of the NFS client after an NFS request times out. If no option is specified (or if the hard option is specified), NFS requests are re‐
tried indefinitely. If either the soft or softerr option is specified, then the NFS client fails an NFS request after retrans retransmissions have been sent, causing
the NFS client to return either the error EIO (for the soft option) or ETIMEDOUT (for the softerr option) to the calling application.

NB: A so-called “soft” timeout can cause silent data corruption in certain cases. As such, use the soft or softerr option only when client responsiveness is more important than data integrity. Using NFS over TCP or increasing the value of the retrans option may mitigate some of the risks of using the soft or softerr option.

FWIW, I did find the following commit
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=487fae09d7e266a58a13784983cc1ef6a2076526
which seems to reintroduce a new “fatal_neterrors” mount option to handle container network teardown cases. (Not yet documented in the man page and likely not applicable in the OP’s usecase).

And now look at what is shown in /proc/mounts.

There is no entry in /etc/fstab because it is an automounted filesystem. If I run cat /etc/mtab I see these two entries:

/etc/auto.misc /home/luno/nfs autofs rw,relatime,fd=6,pgrp=242858,timeout=20,minproto=5,maxproto=5,indirect,pipe_ino=1619553 0 0
192.168.4.7:/nfsexport/franzi /home/luno/nfs/franzi nfs4 rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,soft,fatal_neterrors=none,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.4.9,local_lock=none,addr=192.168.4.7 0 0

In /proc/mounts I see:

/etc/auto.misc /home/luno/nfs autofs rw,relatime,fd=6,pgrp=242858,timeout=20,minproto=5,maxproto=5,indirect,pipe_ino=1619553 0 0
192.168.4.7:/nfsexport/franzi /home/luno/nfs/franzi nfs4 rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,soft,fatal_neterrors=none,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.4.9,local_lock=none,addr=192.168.4.7 0 0

Then there is an entry in

I am still unsure what are your expectations from this topic. YaST is dead. It is not present in SLE 16 and those several modules that are still part of Leap 16 may be removed before release either.

PR for YaST components may still be accepted, but for that you need to identify the component first. YaST has over 150 modules. Saying “Yast” means nothing. Explain what module you mean, show the actual error (hint - the yast-nfs-client does not have string deprecated anywhere in its code). If you are unsure - describe what and how you invoke step by step, show screenshots.

In /etc/auto.misc there is just this single line:
franzi -fstype=nfs4,rw,soft,intr 192.168.4.7:/nfsexport/franzi