Bug 2525909

Summary: disabling NFSv3 causes reads/writes to hang in D+ state
Product: [Fedora] Fedora Reporter: Benji Wiebe <benjiwiebe>
Component: nfs-utilsAssignee: Steve Dickson <steved>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 45CC: benjiwiebe, luk.claes, mmalik, steved
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
tcpdump from server side, vers3=n, reads/writes hang
none
tcpdump from server side, vers3=y, reads/writes succeed none

Description Benji Wiebe 2026-08-29 19:55:59 UTC
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.

Comment 1 Benji Wiebe 2026-08-29 19:56:37 UTC
Created attachment 2156011 [details]
tcpdump from server side, vers3=y, reads/writes succeed

Comment 2 Benji Wiebe 2026-08-31 22:35:33 UTC
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.

Comment 3 Benji Wiebe 2026-09-03 21:08:40 UTC
I've bisected it to 70b7e3526c53d9dd and reported it to upstream.