Subject: Re: [nfsv4] NFSv4.2 vs pNFS

From: "Haynes, Tom" <[email-masked]>
Date: Sun, 1 Dec 2013 17:29:09 +0000

On Nov 30, 2013, at 11:31 AM, Christoph Hellwig <[email-masked]> wrote:

> On Fri, Nov 29, 2013 at 05:51:49PM +0000, Haynes, Tom wrote:
>> There is no new NFSv4.2 file layout.
> 
> 
>> We did discuss this in the weekly meetings and I believe we removed text for this.
>> 
>> Yes, we did not extend the following:
>> 
>> 14.10.4.1.  Additional pNFS Implementation Information
>> 
>>   With pNFS, the semantics of using READ_PLUS remains the same.  Any
>>   data server MAY return a hole or ADH result for a READ_PLUS request
>>   that it receives.  When a data server chooses to return such a
>>   result, it has the option of returning information for the data
>>   stored on that data server (as defined by the data layout), but it
>>   MUST NOT return results for a byte range that includes data managed
>>   by another data server.
>> 
>> to either SEEK or WRITE_PLUS, but the intent is the same.
> 
> How does a data server know if it should follow 4.1 or 4.2 semantics?
> 

The minorversion field in the request will tell it.

> Also RFC 5661 is very specific that the protocol to speak to the data
> server is exactly NFSv4.1, and there is no language lifting that limit
> in the 4.2 draft spec.

I think that is artificial if nothing else. The intent is that we do not
use NFSv4.0 in speaking to the data server.

> 
> To me the way this is introduced seems rather inconsistent.

One of the largest changes from NFSv4.1 to NFSv4.2 is that we do
not provide a huge document which details every single feature
which did not change from the prior release.

The file layout is set and we must use at least NFSv4.1 to communicate
with the data servers.

Someone can propose a new loayout type which lifts this restriction,
as long as they provide for a control protocol and in particular a means
for the MDS to revoke a client's access to the DS.

---

From: Christoph Hellwig <[email-masked]>
Date: Wed, 4 Dec 2013 14:39:07 +0100

> The file layout is set and we must use at least NFSv4.1 to communicate

This seems sensible, but is not obvious from the naming of the file layout
type.  I think it would be useful the 4.2 standard would include language
to that extent in addition to the clarifications for the specific
commands.  I could envision something like:

X.Y.   NFSv4.2 as a Storage Protocol in pNFS: the File Layout Type

When using NFSv4.2 to speak to a pNFS MDS, the DSs are expected to use
NFSv4.2 semantics for the their operation if those different from NFSv4.1

X.Y.1.  Operations Sent to NFSv4.2 Data Servers

In addition to the commands listed in [RFC5661], NFSv4.2 data servers may
accept COMPOUND containing the following additional operations:
READ_PLUS, WRITE_PLUS and SEEK, which will be treated like the subset
specified as "data-server I/O operations" in [RFC5661].

Additional details on the implementation of these operations in a pNFS
context are documented in the operation specific sections below.