In addition to the NFS server changes for Linux 6.16 with now supporting larger I/O block sizes, the Network File-System (NFS) client changes were merged this week for this next kernel version.
NFS client changes for Linux 6.16 include introducing support for fallocate FALLOC_FL_ZERO_RANGE with NFS v4.2+.
“This implements a suggestion from Trond that we can mimic FALLOC_FL_ZERO_RANGE by sending a compound that first does a DEALLOCATE to punch a hole in a file, and then an ALLOCATE to fill the hole with zeroes. There might technically be a race here, but once the DEALLOCATE finishes any reads from the region would return zeroes anyway, so I don’t expect it to cause problems.”
The NFS client pull also introduces a sequence number cache per RFC2203.
Another feature is now exposing the LOCALIO state via sysfs. Linux NFS servers and clients since the Linux 6.12 kernel support LOCALIO. To know if a client and server negotiated LOCALIO use, it’s now indicated via the “localio” attribute in sysfs. LOCALIO can deliver a “extreme” performance boost.
Plus there are various NFS client bug fixes and other enhancements. More details via this pull request.