Fedora Account System
Red Hat Associate
Red Hat Customer
Created attachment 2156010 [details] tcpdump from server side, vers3=n, reads/writes hang Description of problem: Disabling NFSv3 (vers3=n) on the server causes reads and writes on the client to hang in uninterruptible (D+) state. Re-enabling NFSv3 (vers3=y) and restarting nfs-server will un-hang the client and the read/write will then succeed. Version-Release number of selected component (if applicable): Kernel 7.2.1-300.fc45.x86_64 nfs-utils 2.9.2-1.rc1.fc45 How reproducible: Every time. Steps to Reproduce: 1. Install a minimal Fedora 45 into two VMs on the same network; disable firewalld on both to ensure no firewall configuration issues. 2. Start nfs-server on one of them, and export a filesystem. 3. On the other VM, mount the filesystem (default mount options). At this point, reads and writes work fine. 4. Now on the server, edit /etc/nfs.conf and add/change vers3=n to disable NFSv3. Restart nfs-server. 5. Attempt reads/writes on the client; they will hang in D+ state. 6. Change vers3 back to y on the server to re-enable NFSv3. 7. The client reads and writes will now resume. Usually instantly, but I've seen it take some seconds. At this point all reads/writes work as normal again. Actual results: Reads/writes hang in D+ when NFSv3 is disabled. Expected results: Reads/writes succeed when NFSv3 is disabled. Additional info: I've tested it with both btrfs and ext4 as the underlying filesystem, with no change in behavior.
Created attachment 2156011 [details] tcpdump from server side, vers3=y, reads/writes succeed
Turns out it's a server-side (not client side!) bug. I am doing all my testing now with client kernel version 7.2.1-300.fc45.x86_64, and only the server-side kernel version matters. So I've been "bisecting" kernel versions on the server side, downloading builds from Bodhi/Koji. The bug was introduced in 7.2.0-0.rc0.260622gef0c9f75a195.6.fc45. 7.1.0-55 is the last version that doesn't have the bug. I'm going to try to git bisect it, but it's been a long time since I've built a kernel.
I've bisected it to 70b7e3526c53d9dd and reported it to upstream.