Re: [nfsv4] AD Evaluation of draft-ietf-nfsv4-mv1-msns-update-03

David Noveck <davenoveck@gmail.com> Sat, 02 February 2019 14:15 UTC

Return-Path: <davenoveck@gmail.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7B11C1228B7; Sat, 2 Feb 2019 06:15:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.989
X-Spam-Level:
X-Spam-Status: No, score=-1.989 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 21qH2Ny8QCuG; Sat, 2 Feb 2019 06:15:31 -0800 (PST)
Received: from mail-oi1-x230.google.com (mail-oi1-x230.google.com [IPv6:2607:f8b0:4864:20::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 11ED812426A; Sat, 2 Feb 2019 06:15:31 -0800 (PST)
Received: by mail-oi1-x230.google.com with SMTP id x202so8156491oif.13; Sat, 02 Feb 2019 06:15:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=CTP7UR5WGH6gSKBRUCAE6FMFcN3TS5hFhARfazIVafc=; b=qJ8oJRfOKj6spd5tZJ4wkhFw/5CU5vYxwxZBsLoKKFmb+gg6MUiGUmn47+NAI0SYN4 4rlYPWOZkd8IhKKgoewsiTTuSGbjVkjiJ66OdIdYNXzdDJVCycLO51MyXlA0NNzKfQBG CwU90N1zdSbwqp5NG2W4sek64nx81JZlC1wLMRMt+MhCMiJS3zutKPIM11IlV5m2i8Zm 7sOALZi2WFjy/mqtNtlnP5qweKBsoKJdBFSgyASYxsgbsHefoamogH7T261sMSZKY//K wrSCxqpGnNbNK5nHA1lMhgzH1zAH/aiePQosa8Ex1HtR8h/rB+RF86XWvG550PkTQBSs thsg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=CTP7UR5WGH6gSKBRUCAE6FMFcN3TS5hFhARfazIVafc=; b=fqzr72QORBt1RTWhjlIHAQhxyP+YmEMl4UpnqnHai97wgSZ5ftXa2wrUJXg939Smmv uSIPMN1fAx3uc5F6mi0yElj+121de09wTRMKx+OEWb8NzHDlqeFjBDF/5Yye1okAW/18 DV1r8nm4lMRwNavP9NevCZ9YQe1WXsE0WXRLNzYkT83yK9ktABLybn5w90ev6Jjsd497 Ad1lAAxaMD+gyA3ME2p4VpnA00eHFCDGCi7XXjmitxACzZYmi9k9AZwvE4Rqria/jt3B +0LTECFFShLhptSawHg4dfBnUWvXPqpA66LNU7LbY1tplAGJOyi0TwVteY+RcIidu2XB 8eug==
X-Gm-Message-State: AJcUukdls5lGsXVdtSF2BAqLWAi6YpDYESMdzCfGXdujhFPxyAog7fnE kMI23voLWLc9fm5L1ZlpYZ2To5qHrTW8+LkaXC8zXhFL
X-Google-Smtp-Source: ALg8bN47X1NTnx+GZx/Tsdq9F6WkHHwrOu+R/LV47mTNkkWrsL8cDITln95NUrnpDuBnah4qx1MZxnMSWIdQ7a/CGQE=
X-Received: by 2002:aca:195:: with SMTP id 143mr20397489oib.322.1549116929983; Sat, 02 Feb 2019 06:15:29 -0800 (PST)
MIME-Version: 1.0
References: <CAKKJt-d_f_Nk8a57y_i3NTzdt9sUxe3b9uufaMiJCAq84=tRFw@mail.gmail.com>
In-Reply-To: <CAKKJt-d_f_Nk8a57y_i3NTzdt9sUxe3b9uufaMiJCAq84=tRFw@mail.gmail.com>
From: David Noveck <davenoveck@gmail.com>
Date: Sat, 02 Feb 2019 09:15:19 -0500
Message-ID: <CADaq8jdpHFwYgRiDOmCB5d-0ihSRtmcvgPpxnsMd=qX_a4qVpA@mail.gmail.com>
To: Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>
Cc: draft-ietf-nfsv4-mv1-msns-update@ietf.org, NFSv4 <nfsv4@ietf.org>, nfsv4-chairs@ietf.org, nfsv4-ads@ietf.org
Content-Type: multipart/alternative; boundary="00000000000053c8f40580e9e489"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/OHfq3pIDxCYpuXBqmKk1ltSyG3Y>
Subject: Re: [nfsv4] AD Evaluation of draft-ietf-nfsv4-mv1-msns-update-03
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4/>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 02 Feb 2019 14:15:35 -0000

> since I'm doing AD Evaluation on a 100-page document that updates a
600-page document, we can't be surprised that
> I had a few questions

Actually, I'm only surprised that it was done so quickly.   Thanks.

> please let me know how you'd like to proceed.
> I'll mark this as Revised ID Required for now.

I'll provide initial responses below.   If there turns out to be anything
controversial or difficult to resolve, I'll just note the issue now and
discuss it with my co-author.   Based on my initial scan of your comments,
my expectation is that a revised I-D could be provided in one to two weeks.

> This popped up from IDnits, and would be worth fixing before Last Call.

It seems that not fixing it is not really an option, much as I'd like to
sweep the whole thing under the rug :-(.

> -- The document seems to lack a disclaimer for pre-RFC5378 work, but may
>     have content which was first submitted before 10 November 2008.  If
you
>     have contacted all the original authors

I'm not clear about the set of people within "all the original authors".
 If this referring to the authors of RFC5661, then it is just contacting
Spencer S and Mike Eisler, in addition to myself.  On the other hand, some
material from RFC3530 may have migrated to RFC5661, which mkes the poblem
more difficult.

> and they are all willing to grant
>     the BCP78 rights to the IETF Trust, then this is fine, and you can
ignore
>     this comment.

I looked at BCP78 and it was not very clear what exactly I would be
agreeing to or asking other authors to agree to, beyond what one would
have agreed to before 11/10/2008.   BCP78 does  have a section entitled
"Changes since RFC 3968" but it isn't very helpful.

> If not, you may need to add the pre-RFC5378 disclaimer.
>     (See the Legal Provisions document at
>    https://trustee.ietf.org/license-info for more information.)

I looked in that document but I couldn't find the text of the needed
disclaimer.

> (This one tends to get Discusses during IESG Evaluation)

I think I can avoid that.

> The description of "trunking" appears (as best I can tell) appears 7
pages into the document. Is there a reasonable
> reference you could provide for the first use of the term in the
Introduction? (Even a forward reference to Section 3.1
> would be an improvement)

What I'm anticipating doing in -04 is prepending the following sentences to
the final paragraph of Section 1:

This document supplements facilities related to trunking, introduced in
[RFC5661].  For some important terminology regarding trunking, see Section
3.1.


>Does this text
>
> o  Some confusing text regarding changes in server_owner needs to be
>                                                          ^^^^^^^^^^^
>      clarified.
>
> mean

>  o  Some confusing text regarding changes in server_owner has been
>                                                           ^^^^^^^^
>      clarified.

>?

Yes.  Will be fixed in -04.

>Does this text

>  This document contains sections that propose additions to and other
>                                       ^^^^^^^
>   modifications of [RFC5661] as well as others that explain the reasons
>   for modifications but do not directly affect existing specifications.

> mean "specify additions", or "provide additions"? If approved, this
specification will no longer be proposing text changes > - they'll be in
effect.

Yes.  Will fix in -04.

> I can usually follow passive tense English in IETF specifications, but
>
>  When a file system is present and becomes absent, clients can be
>                                                            ^^^^^^
>   given the opportunity to have continued access to their data, using a
>
>   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>    different replica.
>
> is just a bit too hand-wavish. Who/what is giving clients this
opportunity?

At one level, it is the protocol that provides the ability  to communicate
the new location.  At another level it is the source and destination
servers that co-operate to effect the necessary handoff.

I anticipate rewriting the sentence as follows in -04:

When a file system is present and becomes absent, the NFSv4 protocol
provides a means by which clients can be given the opportunity to have
continued access to their data, using a different replica.



>This is a pretty mundane point, but in text like this (and there are other
similar occurrences):
>
> 4.5.1.  New section to be added as the first sub-section of Section 11.4
>        of [RFC5661] to be entitled "Combining Multiple Uses in a Single
>       Attribute"
>
> it is not clear to me exactly where the added text goes - I'm guessing
that the added text becomes the new 11.4.1,
> pushing all other subsections of 11.4 down, but I'm not sure if that's
what was intended. I just noticed that >
https://www.ietf.org/rfcdiff?url2=draft-ietf-nfsv4-mv0-trunking-update-04
shows an explicit renumbering ("this section is
> now 11.4.1") being added to similar insertions, which is likely more
helpful for the area review teams, reviewing ADs, the > RFC Editor, and the
eventual readers. That happened during a recent IESG Evaluation, so it's
especially likely to come > up for another NFSv4 draft ;-) ...

I can do something anaogous for this case by adding similar material to
Section 4.4 in -04.

For the othr cases, I can do something similar but I may have to create or
modify sections which describe reoganizations of various pieces of
RFC5661's Section 11.

> I'm lost in the "it"s in this text:
>
>  o  It may fetch the file system location attribute for the filesystem
>      which will provide either the name of the server (which can be
>      turned into a set of network addresses using DNS), or it will find
>      a set of server-trunkable location entries which can provide the
>      addresses specified by the server as desirable to use to access
>     the file system in question.
>
> I THINK this is (indentation is significant)

> o  The client may fetch the file system location attribute for the
filesystem
>      which will provide either
>
>         the name of the server (which can be
>          turned into a set of network addresses using DNS),
>
>     or the client will find a set of server-trunkable location entries
which can
>
>          provide the
>          addresses specified by the server as desirable to use to access
>         the file system in question.
>
> just following the text, but that's not making a lot of sense to me.

:-(

> Is "or it will find" garbled?

I don't think so.

> Or am I just lost here?

I don't think so, but since you feel lost, I'l propose a rewrite and see if
that clarifies things.

How about:

The client may fetch the file system location attribute for the
filesystem.  This will provide either:

   - The name of the server (which can be turned into a set of network
addresses using DNS).

   - A set of server-trunkable location entries specified by the server as
desirable to use to access the file system in      question.

>
>     or the client will find a set of server-trunkable location entries
which can    rewrite and see how that strikes you.

How about:


> It's a nit, but
>
>  Fs_locations_info provides a flag, FSLI4TF_RDMA flag.  indicating

>                                                     ^ should be a comma.

Yes.  Will fix in -04.

>   that RPC-over-RDMA support is available using the specified location
>   entry.

> I'm not entirely following
>
>  Fs_locations_info provides a flag, FSLI4TF_RDMA flag.  indicating
>   that RPC-over-RDMA support is available using the specified location
>   entry.

This is true.

>This flag makes it for a convenient for a client wishing to
> use RDMA, to establish a TCP connection and then convert to use of
>  RDMA.  After establishing a TCP connection, the step-up facility, can
>   be used, if available, to convert that connection to RDMA mode.

This would make it convenient, if server implemented it, but it turns out
they generally don't.   Still, they could do so.

> Otherwise, if RDMA availability is indicated, a new RDMA connection
>   can be established and it can be bound to the session already
>   established by the TCP connection, allowing the TCP connection to be
>   dropped and the session converted to further use in RDMA node.

> because I'm trying to guess why you would establish a TCP connection and
then convert that to RDMA mode,
> instead of establishing an RDMA connection in the first place.

Although you have been successful in guessing up to now, it is not
surprising that you can't guess this, as it depends on some of the history
of RDMA in the IETF.

> A quick spin through Section 18.16 of [RFC5661] didn't give me a lot of
guidance here (but I did look).

It doesn't explain why this was put in, but I'm guessing that, when it was
written, it seemrd not to require explanation.  At that time, when RDMA was
discussed, it was assumed you were referring to iWarp.  In the contect of
iWarp, stepping a connection from TCP to RDMA is natural, since you are
adding an RDMA facility to an existing TCP connection and there is no point
in tearing down the TCP connection and then establishing a new one.   Now,
given that use of IB and roCE are more common, Inerest in this has waned,
since non-iWarp implementations cannot use this fcility and iplementers may
not want to  invest in an iWarp-only facility.

>It's a nit, but
>
>  or locations of the file system can be determined by fetching the a
>   locations attribute.  attribute.
>
 >                        ^^^^^^^^^^ is probably a cut and paste error.

Probably.  In any case, it will be fixed in -04.

> It would be helpful to readers like me, if
>
> Generally, multi-server namespaces are for the most part uniform, in
>   that the same data made available to one client at a given location
>   in the namespace is made available to all clients at that location.
 >  However, as described above, there are facilities provided that allow
>
>           ^^^^^^^^^^^^^^^^^^
>   different clients to be directed different sets of data, to enable
>   adaptation to such client characteristics as CPU architecture.
>
> this cross-reference was a little more precise (is it "earlier in this
section", or "in Section M.N.O" - something like that).

Actually the reference is wrong rather than being (only) imprecise.  It
should be section 11.10.3 of [RFC5661].  Will fix in -04.

> This text,
>
>  o  Whenever a SEQUENCE operation is sent by a client to a server
>      which generated state held on that client which is associated with
>      a file system that is no longer accessible on the server at which
>      it was previously available, a lease-migrated indication, in the
>
 >                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 >     form the SEQ4_STATUS_LEASE_MOVED status bit being set, appears in
>
 >     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
 >     the response.
>
> wasn't easy for me to parse. Perhaps something like
>
>
>  o  Whenever a SEQUENCE operation is sent by a client to a server
>      which generated state held on that client which is associated with
 >     a file system that is no longer accessible on the server at which
>      it was previously available, the response will contain a
lease-migrated
>
 >
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
 >     indication, with the SEQ4_STATUS_LEASE_MOVED status bit being set.
>
 >     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>

Seems clearer.  Will pick up for -04



>  o  In the state merger case, it is possible that the server has not
>      attempted Transparent State Migration, in which case state may
>      have been lost without it being reflected in the SEQ4_STATUS bits.
>      To determine whether this has happened, the client can use
>      TEST_STATEID to check whether the stateids created on the source
>      server are still accessible on the destination server.  Once a
>      single stateid is found to have been successfully transferred, the
>      client can conclude that Transparent State Migration was begun and
>      any failure to transport all of the stateids will be reflected in
>      the SEQ4_STATUS bits.  Otherwise.  Transparent State Migration has
>
>                                     ^ should this be a comma?

It should.  Will fix in -04.

>      not occurred.


> but asking now, because there might be something else happening with this
text, if it's not a comma.


> I couldn't parse this paragraph. I think the problem is in the first
phrase:


 > o  If information about the set of clients that have locking state
>
>    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>     for the transferred file system, the destination server will be
>    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>     able to terminate the grace period once all such clients have
>      reclaimed their locks, allowing normal locking activity to resume
>      earlier than it would have otherwise.

It should be "If information about the set of clients that have locking
state for the transferred file system is made available".  Will fix in -04.

>It's a nit, but
>
>  o  For each lock type there will by type-specific information, such
>
>                                   ^ be

In -04, will be "for each lock type, there will be type-specfic
information,".

>      as share and deny modes for opens and type and byte ranges for
>      byte-range locks and layouts.


> If this matters,

  > o  If both EXCHANGE_ID requests were sent with RPCSEC_GSS ([RFC2203],
  >    [RFC5403], [RFC7861]) authentication and the server principal is
  >    the same for both targets, the equality of server scope is
  >    validated.  It is RECOMMENDED that two servers intending to share
 >
  >                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  >    the same server scope also share the same principal name.
 >
  >    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
>
> the reader would likely benefit from a sentence or two explaining why
this is RECOMMENDED, and/or what the
> consequences of not sharing the same principal name are.

Right now, I'm not sure.  This text was copied over from RFC5661.

> It's a nit, but
>
>  o  The cases of change which are very disruptive (e.g. change if
>
>                                            "if" is likely "of" ^

It will by "of" in -04.

>      server scope) are not sufficiently distinguished from those that
>      simply involve a change of trunking modes (i.e. change
>      server_owner minor id)


On Fri, Feb 1, 2019 at 8:55 PM Spencer Dawkins at IETF <
spencerdawkins.ietf@gmail.com> wrote:

> Dear Author and Editor,
>
>
> The NFSv4 working group tends to produce solid documents - thank you for
> that - but since I'm doing AD Evaluation on a 100-page document that
> updates a 600-page document, we can't be surprised that I had a few
> questions ... please let me know how you'd like to proceed.
>
> I'll mark this as Revised ID Required for now.
>
> Thanks,
>
> Spencer
>
> This popped up from IDnits, and would be worth fixing before Last Call.
>
> -- The document seems to lack a disclaimer for pre-RFC5378 work, but may
>     have content which was first submitted before 10 November 2008.  If you
>     have contacted all the original authors and they are all willing to
> grant
>     the BCP78 rights to the IETF Trust, then this is fine, and you can
> ignore
>     this comment.  If not, you may need to add the pre-RFC5378 disclaimer.
>     (See the Legal Provisions document at
>     https://trustee.ietf.org/license-info for more information.)
>
> (This one tends to get Discusses during IESG Evaluation)
>
> The description of "trunking" appears (as best I can tell) appears 7 pages
> into the document. Is there a reasonable reference you could provide for
> the first use of the term in the Introduction? (Even a forward reference to
> Section 3.1 would be an improvement)
>
> Does this text
>
>  o Some confusing text regarding changes in server_owner needs to be
>
>                                                           ^^^^^^^^^^^
>      clarified.
>
> mean
>
>  o Some confusing text regarding changes in server_owner has been
>
>                                                           ^^^^^^^^
>      clarified.
>
> ?
>
> Does this text
>
>  This document contains sections that propose additions to and other
>
>                                       ^^^^^^^
>   modifications of [RFC5661] as well as others that explain the reasons
>   for modifications but do not directly affect existing specifications.
>
> mean "specify additions", or "provide additions"? If approved, this
> specification will no longer be proposing text changes - they'll be in
> effect.
>
> I can usually follow passive tense English in IETF specifications, but
>
>  When a file system is present and becomes absent, clients can be
>
>                                                            ^^^^^^
>   given the opportunity to have continued access to their data, using a
>
>   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   different replica.
>
> is just a bit too hand-wavish. Who/what is giving clients this
> opportunity?
>
> This is a pretty mundane point, but in text like this (and there are other
> similar occurrences):
>
> 4.5.1.  New section to be added as the first sub-section of Section 11.4
>        of [RFC5661] to be entitled "Combining Multiple Uses in a Single
>        Attribute"
>
> it is not clear to me exactly where the added text goes - I'm guessing
> that the added text becomes the new 11.4.1, pushing all other subsections
> of 11.4 down, but I'm not sure if that's what was intended. I just noticed
> that
> https://www.ietf.org/rfcdiff?url2=draft-ietf-nfsv4-mv0-trunking-update-04
> shows an explicit renumbering ("this section is now 11.4.1") being added to
> similar insertions, which is likely more helpful for the area review teams,
> reviewing ADs, the RFC Editor, and the eventual readers. That happened
> during a recent IESG Evaluation, so it's especially likely to come up for
> another NFSv4 draft ;-) ...
>
> I'm lost in the "it"s in this text:
>
>  o It may fetch the file system location attribute for the filesystem
>      which will provide either the name of the server (which can be
>      turned into a set of network addresses using DNS), or it will find
>      a set of server-trunkable location entries which can provide the
>      addresses specified by the server as desirable to use to access
>      the file system in question.
>
> I THINK this is (indentation is significant)
>
> o  The client may fetch the file system location attribute for the
> filesystem
>      which will provide either
>
>          the name of the server (which can be
>          turned into a set of network addresses using DNS),
>
> or the client will find a set of server-trunkable location entries which
> can
>
>          provide the
>          addresses specified by the server as desirable to use to access
>          the file system in question.
>
> just following the text, but that's not making a lot of sense to me. Is
> "or it will find" garbled? Or am I just lost here?
>
> It's a nit, but
>
>  Fs_locations_info provides a flag, FSLI4TF_RDMA flag.  indicating
>
>                                                      ^ should be a comma.
>   that RPC-over-RDMA support is available using the specified location
>   entry.
>
> I'm not entirely following
>
>  Fs_locations_info provides a flag, FSLI4TF_RDMA flag.  indicating
>   that RPC-over-RDMA support is available using the specified location
>   entry.  This flag makes it for a convenient for a client wishing to
>   use RDMA, to establish a TCP connection and then convert to use of
>   RDMA.  After establishing a TCP connection, the step-up facility, can
>   be used, if available, to convert that connection to RDMA mode.
>   Otherwise, if RDMA availability is indicated, a new RDMA connection
>   can be established and it can be bound to the session already
>   established by the TCP connection, allowing the TCP connection to be
>   dropped and the session converted to further use in RDMA node.
>
> because I'm trying to guess why you would establish a TCP connection and
> then convert that to RDMA mode, instead of establishing an RDMA connection
> in the first place. A quick spin through Section 18.16 of [RFC5661] didn't
> give me a lot of guidance here (but I did look).
>
> It's a nit, but
>
>  or locations of the file system can be determined by fetching the a
>   locations attribute.  attribute.
>
>                         ^^^^^^^^^^ is probably a cut and paste error.
>
> It would be helpful to readers like me, if
>
>  Generally, multi-server namespaces are for the most part uniform, in
>   that the same data made available to one client at a given location
>   in the namespace is made available to all clients at that location.
>   However, as described above, there are facilities provided that allow
>
>            ^^^^^^^^^^^^^^^^^^
>   different clients to be directed different sets of data, to enable
>   adaptation to such client characteristics as CPU architecture.
>
> this cross-reference was a little more precise (is it "earlier in this
> section", or "in Section M.N.O" - something like that).
>
> This text,
>
>  o Whenever a SEQUENCE operation is sent by a client to a server
>      which generated state held on that client which is associated with
>      a file system that is no longer accessible on the server at which
>      it was previously available, a lease-migrated indication, in the
>
>                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>      form the SEQ4_STATUS_LEASE_MOVED status bit being set, appears in
>
>      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
>      the response.
>
> wasn't easy for me to parse. Perhaps something like
>
>  o Whenever a SEQUENCE operation is sent by a client to a server
>      which generated state held on that client which is associated with
>      a file system that is no longer accessible on the server at which
>      it was previously available, the response will contain a
> lease-migrated
>
>
>                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
>      indication, with the SEQ4_STATUS_LEASE_MOVED status bit being set.
>
>      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> I'm guessing
>
>  o In the state merger case, it is possible that the server has not
>      attempted Transparent State Migration, in which case state may
>      have been lost without it being reflected in the SEQ4_STATUS bits.
>      To determine whether this has happened, the client can use
>      TEST_STATEID to check whether the stateids created on the source
>      server are still accessible on the destination server.  Once a
>      single stateid is found to have been successfully transferred, the
>      client can conclude that Transparent State Migration was begun and
>      any failure to transport all of the stateids will be reflected in
>      the SEQ4_STATUS bits.  Otherwise. Transparent State Migration has
>
>                                      ^ should this be a comma?
>      not occurred.
>
> but asking now, because there might be something else happening with this
> text, if it's not a comma.
>
> I couldn't parse this paragraph. I think the problem is in the first
> phrase:
>
>  o If information about the set of clients that have locking state
>
>     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>      for the transferred file system, the destination server will be
>
>      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>      able to terminate the grace period once all such clients have
>      reclaimed their locks, allowing normal locking activity to resume
>      earlier than it would have otherwise.
>
> It's a nit, but
>
>  o For each lock type there will by type-specific information, such
>
>                                    ^ be
>      as share and deny modes for opens and type and byte ranges for
>      byte-range locks and layouts.
>
> If this matters,
>
>  o If both EXCHANGE_ID requests were sent with RPCSEC_GSS ([RFC2203],
>      [RFC5403], [RFC7861]) authentication and the server principal is
>      the same for both targets, the equality of server scope is
>      validated.  It is RECOMMENDED that two servers intending to share
>
>                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>      the same server scope also share the same principal name.
>
>      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> the reader would likely benefit from a sentence or two explaining why this
> is RECOMMENDED, and/or what the consequences of not sharing the same
> principal name are.
>
> It's a nit, but
>
>  o The cases of change which are very disruptive (e.g. change if
>
>                                            "if" is likely "of" ^
>      server scope) are not sufficiently distinguished from those that
>      simply involve a change of trunking modes (i.e. change
>      server_owner minor id)
>