For those making use of the Network File System (NFS), the in-development Linux 6.17 kernel is bringing some nice improvements both for the NFS server and client code.
During the now-over Linux 6.17 merge window some nice NFS enhancements made it into this next version of the Linux kernel. On the NFSD side there is now the ability to offer write delegations to clients opening files with O_WRONLY. According to the pull request it should open up accelerating some interesting corner cases:
“NFSD is finally able to offer write delegations to clients that open files with O_WRONLY, thanks to patches from Dai Ngo. We’re expecting this to accelerate a few interesting corner cases.
The cap on the number of operations per NFSv4 COMPOUND has been lifted. Now, clients that send COMPOUNDs containing dozens of operations (for example, a long stream of LOOKUP operations to walk a pathname in a single round trip) will no longer be rejected.
This release re-enables the ability for NFSD to perform NFSv4.2 COPY operations asynchronously. This feature has been disabled to mitigate the risk of denial-of-service when too many such requests arrive.”
More details within this Git merge.
On the NFS side are a number of interesting improvements. NFSv4 support for reading the birth time “btime” is now wired up, folio migration for more cases, NFS now supports using a kernel keyring for storing TLS certificates, speeding up delegation lookup on NFSv4, and more:
“Features and cleanups:
– Add NFSv4 support for retrieving the btime.
– NFS: Allow folio migration for the case of mode == MIGRATE_SYNC.
– NFS: Support using a kernel keyring to store TLS certificates.
– NFSv4: Speed up delegation lookup using a hash table.
– Assorted cleanups to remove unused variables and struct fields.
– Assorted new tracepoints to improve debugging.”
All those NFS details here.