Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Apr 2019 21:12:43 +0000
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        Adam <amvandemore@gmail.com>, Kurt Jaeger <pi@freebsd.org>
Cc:        freebsd-fs <freebsd-fs@freebsd.org>
Subject:   Re: NFS 4.2 plans ?
Message-ID:  <YQBPR0101MB0852BC9B8EDFC40C9C1728DCDD3D0@YQBPR0101MB0852.CANPRD01.PROD.OUTLOOK.COM>
In-Reply-To: <CA%2BtpaK39AKs4Y0q5bpymbD21oQK0B7ODzet9Y1Kgzparva_nRg@mail.gmail.com>
References:  <20190425191224.GI9159@fc.opsec.eu>, <CA%2BtpaK39AKs4Y0q5bpymbD21oQK0B7ODzet9Y1Kgzparva_nRg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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.h=
tml

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 a=
ll
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. Exampl=
es 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 Layou=
tReturn).
  - 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 mai=
nstream
imho.)

I am also not sure if it possible to do per-file cloning within ZFS. (ZFS h=
as per-fs
cloning, but the NFSv4.2 spec supports a similar operation, but for a singl=
e 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 NFS=
v4.2
implementation.

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

rick




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YQBPR0101MB0852BC9B8EDFC40C9C1728DCDD3D0>