NFS 4.2 plans ?

Rick Macklem rmacklem at uoguelph.ca
Thu Apr 25 21:12:47 UTC 2019


Adam wrote:
>>
>> I've read that NFS 4.2 was specified 2016 in
>>
>> https://tools.ietf.org/html/rfc7862
>>
>> so who knows if someone is working on this ?
>>
>
>
>https://lists.freebsd.org/pipermail/freebsd-current/2017-December/067755.html

The NFSv4.2 stuff lives in the FreeBSD svn under:
projects/nfsv42

What is there works, but doesn't have many of the new features (which are all
optional) implemented in it.

I do have some work I've done on it during the winter, which I will be sync'ing
into the above projects branch sometime soon.

To be honest, I don't think most of it will be particularily useful. Examples of
what it will are:
- Some support for the posix_fadvise POSIX_FADV_WILLNEED
   POSIX_FADV_DONTNEED
- Some support for the posix_fallocate() operation.
- pNFS LayoutError, which allows the client to report an I/O error without returning
  the layout (for NFSv4.1, the client must report the I/O error via a LayoutReturn).
  - I don't think this is useful for the FreeBSD client, which will always do a
    LayoutReturn

The big one that I intend to do for the is the intra-server file copy.

I do plan to get this into FreeBSD13, but I can't be sure. It will require a fair
amount of "negotiation" for things like adding a system call to do the file
copy. (I will start with whatever Linux has, since Solaris is no longer mainstream
imho.)

I am also not sure if it possible to do per-file cloning within ZFS. (ZFS has per-fs
cloning, but the NFSv4.2 spec supports a similar operation, but for a single file.
Basically, cloning of a file allows the clones to be copied on write after the clone
is created. Unless it can easily be done within ZFS, it won't be in the NFSv4.2
implementation.

If you are interested, check the commit logs for projects/nfsv42 accessible via
svnweb.freebsd.org.

rick



More information about the freebsd-fs mailing list