Created attachment 1013565 [details] Network traces with EOF Description of problem: NFS client mounted using flex-files layout reads past EOF (forever) if both conditions are true: * open O_DIRECT * block size >= 512k Version-Release number of selected component (if applicable): * Client fedora rawhide 4.0.0-0.rc5.git4.1.fc23.x86_64 * Primary Data MDS b630 3.11.9-integration-630-90182a7f How reproducible: Every time Steps to Reproduce: > mount pd-mds:/share1 /mnt/test > perl -e 'print "x" x 1048576' > /mnt/test/jean-test > dd bs=512k of=/dev/null if=/mnt/test/jean-test iflag=direct Actual results: The client keeps "reading" forever or until the target fills up. Note that the client is writing the last chunk it read continuously to the output file, even though it gets 0 bytes on subsequent reads. Expected results: The client stops reading upon reaching EOF Additional info: * I see partial reads being reported, but adding iflag=fullblock doesn't change the behavior (but removes the warning) * Mount options > pd-mds:/share1 on /mnt/test type nfs4 (rw,relatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=X.X.X.X,local_lock=none,addr=Y.Y.Y.Y) * Network traces attached
Fixing patch: http://www.spinics.net/lists/linux-nfs/msg50654.html
That patch has been sitting uncommented on a for a while now. I poked the upstream thread to see if why. Out of curiosity, did you happen to build a kernel with those and test?
OK, this patch finally went upstream. It should be in the 4.1-rc1 build today.
Fixed in rawhide and in git for F22.
Verified on rawhide running kernel 4.1.0-0.rc1.git0.1.fc23.x86_64
kernel-4.0.1-300.fc22 has been submitted as an update for Fedora 22. https://admin.fedoraproject.org/updates/kernel-4.0.1-300.fc22
kernel-4.0.1-300.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.