The Linux NFS4 kernel client implementation is not free of bugs. Below we list the bugs we know of:
NFS4 I/O Fails after Server or Network Downtime
After a file server reboot or fail-over in case of high-available file services, or after the network at ETH experiences problems, it happens that pending I/O on any path on NFS4 mounted shares will fail with an error instead of recovering when the server is reachable again.
- Forefox, Thunderbird or other applications that relay on access to a home directory randomly crash.
- Gnome becomes unresponsive.
Reason and Remedy
A buggy commit in 4.3
in the linux kernel in 2015 causes this bug. Red Hat back-ported it with the 7.3 update of RHEL7.
It was fixed upstream at https://kernel.org
in the following kernels:
- 5.2 and newer
- 4.19.81 (longterm) or newer
- 4.14.151 (longterm) or newer
- 4.9.198 (longterm) or newer
- 4.4.198(longterm) or newer
The patch that fixes this issue for 4.x, 5.0 and 5.1 kernels:
ipv4: Return -ENETUNREACH if we cant create route but saddr is valid
- All Ubuntu, Fedora, CentOS and RHEL systems (and probably many more) with a 3.x, 4.x, 5.0 or 5.1 kernel
Fixes in Distributions
NFS 4.1 Client Hangs after Network Downtime
After a network outage an NFS4 client using 4.1 or 4.2 has a high probability to hang permanently on one or several mounted paths.
This behavior has also been reported for unspecified newer Ubuntu installations.
Avoid using 4.1 and 4.2 and switch to version 4.0.
Mounted NFS4 Shares Return EIO when Accessed without Valid Ticket instead of Hanging
Recent changes in the NFS4 client code of the Linux kernel change the behaviour when all tickets of a user have expired. Previously all file system accesses to a kerberized NFS4 mount point would hang indefinitely which is the same reaction as if the file server is not reachable. All running applications would continue to work if a new ticket is available again, e.g. after entering the password to unlock the screen or an SSH login with password.
New kernels return
for file system access without valid ticket. As a result many applications just crash, including desktop managers like Gnome.
There is no fix for this issue. Ticket renewal helps to keep a valid ticket so this issue only becomes relevant after one week without interaction on the system.