Re: [Gen-art] Minor nits in minorversion2-40

Tom Haynes <> Fri, 22 January 2016 22:34 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 89BEA1A8AF1 for <>; Fri, 22 Jan 2016 14:34:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_PASS=-0.001] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id odZsbaJWi8FA for <>; Fri, 22 Jan 2016 14:34:41 -0800 (PST)
Received: from ( [IPv6:2607:f8b0:400e:c00::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id CB7501A8AEE for <>; Fri, 22 Jan 2016 14:34:41 -0800 (PST)
Received: by with SMTP id q63so50306989pfb.1 for <>; Fri, 22 Jan 2016 14:34:41 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20150623; h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=y4ThvHiuRWLJIyLYI6Q2PcBoh1alXRHKwixt4Eynu2k=; b=rz401TjwDrlfKsCQYVLUkAG25nvHNGT91lcdvCHVey1sTNRcYs4TBZ8AvcGMu3WfrR ydMXsnhypXAhs/0B4nO+XwxS8HqgjevV2w34rpoYj1mkMAUi+mvAh21yQ1tyCyOyYDNe B0QICExJCH5uzEDN/nsdRWH8gWvcHzd9KJj57LqZVgOvJ/MvgUUZ3rmkDX3S9tiJ82vF XLNkhvY68YnBAgylYLltarBwbVdRxrc+LewLz97CLweW95RVE86PbHKqE0uuirjitWq+ 2vVbEcgVoGfynrYLGbfooEeUuFINeUrReZ4u5G5eZuRiNK+Rk+YURVmoqLddNJ6XrcAh ljqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=x-gm-message-state:content-type:mime-version:subject:from :in-reply-to:date:cc:content-transfer-encoding:message-id:references :to; bh=y4ThvHiuRWLJIyLYI6Q2PcBoh1alXRHKwixt4Eynu2k=; b=kZvsh/4KLCLItRtI/A+HPJ7sDOijyRwSdqaVPlc3xphChuUJidOaXOR2E47al7456m PXlWofU4TAUb/UDFZePtCBVfVFaMQaBj+0XvkOSedcnxJDiT9t6d2osX52+0LT5C/Hvd GPUrj5olxgzVV4UrNJG44KBc81IyC1oyGq0kQ4AJaAkbYONKxXH0QryBKgoGVDW1Cmc2 SfT6Z+U13uUNdkt05508ZjUH/vMczwB/s+AQBTC+kB3S/m7/Iyfh8DlDK3YarS4Q2P5N kVqQjY6axGYR5Px8HSNp4jij0r0gMxN+YmR2mXEBkNRi4IHmNHJxk8u3qfpDW5HIX3mr 9p8g==
X-Gm-Message-State: AG10YORf6rw+hXetvigC6J7p+PtCxxHDgQfl7iDfes972RKqTQ0PZ8XUO7VSryxXWsEGFG62
X-Received: by with SMTP id r70mr8018206pfr.4.1453502081300; Fri, 22 Jan 2016 14:34:41 -0800 (PST)
Received: from ( []) by with ESMTPSA id dg12sm11864898pac.47.2016. (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 22 Jan 2016 14:34:40 -0800 (PST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\))
From: Tom Haynes <>
In-Reply-To: <>
Date: Fri, 22 Jan 2016 14:34:39 -0800
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <>
To: Elwyn Davies <>, "Adamson, Andy" <>
X-Mailer: Apple Mail (2.3112)
Archived-At: <>
Cc: General area reviewing team <>
Subject: Re: [Gen-art] Minor nits in minorversion2-40
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "GEN-ART: General Area Review Team" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 22 Jan 2016 22:34:44 -0000

Hi Elwyn,

Playing catch-up after a big push in my day job.

Please understand this is not normal for me. :-)

I will be working my way forwards from here through the other emails and I am not peeking ahead.

Hi Andy,

I have one potential change below I’d like you to verify. It is the only other occurrence of “Andy"

> On Jan 7, 2016, at 6:20 AM, Elwyn Davies <> wrote:
> Hi.
> As suggested I downloaded your repository and made -40.
> I had a quick look through and it is looking good.
> Still to do/think about:
> - 'we' removal
> - structured privilege description expansion as per email.
> - [BL73] - not reffed anymore.
> I spotted a few items that appeared (or I had missed) - noted below.
> Cheers,
> Elwyn
> Minor nits:
> s4.2, para 2: s/intra-sever/intra-server/


> s4.2.2, para 1: This sentence is a bit garbled:
>> Other operations are OPTIONAL in the context of a particular feature Section 13, but may become REQUIRED depending on server behavior.


> s4.9, last para:
> I was supposed to be letting you know if some extra explanation of why seqid being zero is ambiguous.... so, yes, I do think a bit extra is needed. Here goes:
> s15.8.3 notes that there can be multiple file copies associated with a single file going on at the same time.  This is only implicit up to that point I think.  It would be helpful to add a note about this possibility and the availability of asynchronous copy in general to the intro of section 4.

The async portion is covered by your later change below.

And you know what, I believe it also covers the part about multiple copies. :-)

> BTW: removing the s4.1 header would be in keeping with usual style as you have already done for other sections.


> BTW2:  I just realized that there is no general terminology section in this document.  Clearly most of it is taken over from either or both of RFC 7530 (s1.5) and RFC 5661 (s1.6).  What triggered this was the point that stateid isn't actually defined in this doc.  A reference to one or both of these and/or possibly some copies of definitions would be helpful.
> In the following I may not have exactly grokked what the copy offload stateid represents... if so please adjust the words
> Add to intro (was in s4.1, s/b in s4) as new last para:
> ADD:
> The copy feature allows the server to perform the copying either synchronously or asynchronously.  The client can request synchronous copying but the server may not be able to honor this request.  If the server intends to perform asynchronous copying, it supplies the client with a request identifier that  the client can use to monitor the progress of the copying and, if appropriate, cancel a request in progress.   The request identifier is a stateid representing the internal locks held by the server while the copying is performed. Multiple asynchronous copies of all or part of a file may be in progress in parallel on a server; the stateid request identifier allows monitoring and canceling to be applied to the correct request.

“internal locks” -> “internal state”

Otherwise, taken verbatim

> Then modify the last para of s4.9:
> OLD:
>   A copy offload stateid's seqid MUST NOT be zero.  In the context of a
>   copy offload operation, it is ambiguous to indicate the most recent
>   copy offload operation using a stateid with seqid of zero. Therefore
>   a copy offload stateid with seqid of zero MUST be considered invalid.
> NEW:
>   A copy offload stateid's seqid MUST NOT be zero.  In the context of a
>   copy offload operation, it is inappropriate to indicate "the most recent
>   copy offload operation" using a stateid with seqid of zero (see Section 8.2.2
>   of [RFC5661] for the meaning of a seqid of zero).  It is inappropriate
>   because the stateid refers to internal state in the server and there may
>   be several asynchronous copy operations being performed in parallel
>   on the same file by the server.  Therefore
>   a copy offload stateid with seqid of zero MUST be considered invalid.


> s4.10, last para:
> OLD:
>   If a server requires the use of RPCSEC_GSSv3 copy_to_auth,
>   copy_from_auth, or copy_confirm_auth and it is not used, the server
>   will reject the request with NFS4ERR_PARTNER_NO_AUTH.
> NEW:
>   If a server requires the use of an RPCSEC_GSSv3 copy_to_auth,
>   copy_from_auth, or copy_confirm_auth privilege and it is not used, the server
>   will reject the request with NFS4ERR_PARTNER_NO_AUTH.

Okay, felt like a game of spot the ball in the newspaper, but done.

> s4.  I understood you were going to say something about size and non-reuse of the random number?

More weasely words!

Andy,  I know nothing of rpcsec_gssv3. Are there constraints already in place for the random number?

                A random number is generated to use as a secret to be shared
                between the two servers.  This shared secret will be placed
                in the cfap_shared_secret and ctap_shared_secret fields of
                the appropriate privilege data types, copy_from_auth_priv
                and copy_to_auth_priv.  Because of this shared_secret the
                RPCSEC_GSS3_CREATE control messages for copy_from_auth
                and copy_to_auth MUST use a Quality of Protection (QOP) of rpc_gss_svc_privacy.

> s4., bullet 6: s/the COPY will be rejeced/the COPY will be rejected/


> s8:  Did you think about 64bit big-endian/little-endian issues?

Point 2:

   2.  Fields to describe the state of the ADB and a means to detect
       block corruption.  For both pieces of data, a useful property
       would be that the allowed values are specially selected so that
       if passed across the network, corruption due to translation
       between big and little endian architectures is detectable.  For
       example, 0xF0DEDEF0 has the same (32 wide) bit pattern in both
       architectures, making it inappropriate.

> s9.2, last para: Need to expand LFS on first use. (missed in -39)

First use is in Section 9.1, right?

> s10.5.6, para 2: (Not a change - I missed this in -39)
>> Any file's layout obtained from a NFSv4.1 metadata server MUST NOT have NFL42_UFLG_IO_ADVISE_THRU_MDS set.
> I don't understand this statement.  If the layout is originated by an NFSv4.1 server, then I would interpret having this bit set as a server bug.

Yes, hence the MUST - not trying to be flip here - this is the way in the protocol we specify a bug in the implementation.

> s12.1: One of the ADs complained about the weasel words in the Id column definition... the slightly less weaselly words from s5.6 of RFC7530 should cure this.

I’ll push on this for now and check back at the end of all of the emails.

> s19.2:  Need to sort out [BL73].

Same here.