I've recently upgraded my home NFS server from 6.4.12 to 6.5.4 (running
Arch Linux x86_64).
Now, when I'm accessing the server over NFSv4.2 from a client that's
running 5.10.0 (32-bit x86, Debian 11), if the mount is using sec=krb5i
or sec=krb5p, trying to read a file that's <= 4092 bytes in size will
return all-zero data. (That is, `hexdump -C file` shows "00 00 00...")
Files that are 4093 bytes or larger seem to be unaffected.
Only sec=krb5i/krb5p are affected by this – plain sec=krb5 (or sec=sys
for that matter) seems to work without any problems.
Newer clients (like 6.1.x or 6.4.x) don't seem to have any issues, it's
only 5.10.0 that does... though it might also be that the client is
32-bit, but the same client did work previously when the server was
running older kernels, so I still suspect 6.5.x on the server being the
problem.
Upgrading to 6.6.0-rc2 on the server hasn't changed anything.
The server is using Btrfs but I've tested with tmpfs as well.