Re: [nfsv4] Progressing RFC errata for RFC 5661: Errata 2751

Trond Myklebust <trondmy@gmail.com> Tue, 17 September 2019 11:35 UTC

Return-Path: <trondmy@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 8C85C12082B for <nfsv4@ietfa.amsl.com>; Tue, 17 Sep 2019 04:35:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] 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 dOl4bIG9B1zT for <nfsv4@ietfa.amsl.com>; Tue, 17 Sep 2019 04:35:45 -0700 (PDT)
Received: from mail-io1-xd42.google.com (mail-io1-xd42.google.com [IPv6:2607:f8b0:4864:20::d42]) (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 D4373120829 for <nfsv4@ietf.org>; Tue, 17 Sep 2019 04:35:45 -0700 (PDT)
Received: by mail-io1-xd42.google.com with SMTP id q10so6804142iop.2 for <nfsv4@ietf.org>; Tue, 17 Sep 2019 04:35:45 -0700 (PDT)
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=FprbuVM0AgL65gEXXVlJJMjw0KWoKf+ZAbDd9vQVzoc=; b=JeyTfkwS9DSd319BW94YF8F2ia1yU8PkSe8915ayhCks3h2WJurPNZoP/M9TIsS7kC +QHS5vqdgyihFo86oy3nGIcboTAC+MDkTdX8drqDt3CgJL16fe/V3h1ByvbBVdQBERXN 6FkPE9nnx+i9FzBK1lPeglTsZvnfPFRbHtwBI+KhdmI/ntzfqW5QhpAoyjoEs7NTW/3/ vOGaXxuJXKk1QTypz/wAP6GIMQaoWw8wHhupxBfufyV0SdroBHMsKFHWFdooRA0FtAQV wzLD12bpoikuj+UeVZr8rbFdY7/Hxu6x0xolsypgo3T74+ouLj5Xt0nViw5tYjCl0zgN 6CAA==
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=FprbuVM0AgL65gEXXVlJJMjw0KWoKf+ZAbDd9vQVzoc=; b=ODOO4KFRV/c76xrt76NDK8wbOs1OZreH3ZBs+q2fAHLOPhRThnWjg5kduVTLCm/oFQ Rlo6mBCnYqd8MOAJAVorfHJXPbxMbgGm0a+fjtjmKTCuW8U/GjjoRw79B6tHU4plOmSo LerEZH1CzXcTzqhHOmbHYggdj9jih8XC5Mj3ILpOKM34ZOO7lxN7PN0nKLXNlwCd3/QN fkR/YcM3MqngR2W8DJGAiUXaybLjZ/yL1BsQUQyrtgyLiss43P5J3+Ij5jwS55hFSYO9 ZNkmpQ2Yl4J+imr/VaHix+ibEMKjsOGbDDyExSELHqxlgEPiChMe1+mvLxpVaFAFNWfT VwOQ==
X-Gm-Message-State: APjAAAXaCIPZ6RW45uDrkBYQ6iE50xqohI8r+aVjuiWoBP/R8sCiJ6gD qTMjHCTiJnljSFXPhugpSjz6sdAJqyUeOWlNDw==
X-Google-Smtp-Source: APXvYqwypwzWSoLs4Niz1ZPkHGXU9CpMMrMLmjkCTgc/ZVvSHJgLMAPoQnItgibTES4e3khPKqXiSVooQupmLFDDN0o=
X-Received: by 2002:a6b:b445:: with SMTP id d66mr3205826iof.269.1568720144748; Tue, 17 Sep 2019 04:35:44 -0700 (PDT)
MIME-Version: 1.0
References: <DB7PR07MB5736124B2F507DA20F317BC195B30@DB7PR07MB5736.eurprd07.prod.outlook.com> <CADaq8jd4u-Lwvy_Csu2jqrcGFZ_tLOeSkqKwUW0eivuc=trsBg@mail.gmail.com> <CAABAsM5TDGx0qiMv+Ln4WLOKjuQiTFKr6HD6d9zqD3NfjpvoFg@mail.gmail.com> <CADaq8jeJrEESewzSVy+6ib=YsYbEhZ1O2g-eaAHPSNo0yM8ihQ@mail.gmail.com> <1540212130.30235126.1568670600090.JavaMail.zimbra@desy.de> <30d755de691c98e77edf5ddf15294ed52deef014.camel@ericsson.com>
In-Reply-To: <30d755de691c98e77edf5ddf15294ed52deef014.camel@ericsson.com>
From: Trond Myklebust <trondmy@gmail.com>
Date: Tue, 17 Sep 2019 07:35:33 -0400
Message-ID: <CAABAsM4ncEGthwiZp9SMT+2Z15-YjnuyM1j=XCxfFVF5GQrF2Q@mail.gmail.com>
To: Magnus Westerlund <magnus.westerlund@ericsson.com>
Cc: "davenoveck@gmail.com" <davenoveck@gmail.com>, "tigran.mkrtchyan@desy.de" <tigran.mkrtchyan@desy.de>, "nfsv4@ietf.org" <nfsv4@ietf.org>, "rmacklem@uoguelph.ca" <rmacklem@uoguelph.ca>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/YMNNf4vMVaCdHu6J-8DHQDDZuL8>
Subject: Re: [nfsv4] Progressing RFC errata for RFC 5661: Errata 2751
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: Tue, 17 Sep 2019 11:35:48 -0000

At the time when this was raised to the IETF WG, we argued that it is
actually a clarification because the original RFC5661 does not specify
how to handle the different types of WRITE persistence.
IOW: it is trying to clarify an omitted description of client/server behaviour.

There is no text in RFC5661 that states what the behaviour of a pNFS
client should be when the server returns FILE_SYNC in response to a
WRITE (as NetApp servers always do). The DESCRIPTION in section
18.32.3 for a standard WRITE through the MDS states that means all
data+metadata has been persisted, but what does that even mean for
pNFS, where the data and metadata are handled by different servers?
You can't just port the description in 18.32.3, because it makes no
sense in the context of the different MDS/DS roles.

The errata presented by Ricardo therefore represents the consensus
interpretation for dealing with the question of what the different
WRITE modes mean for the 'files' pNFS type, and how they relate to
COMMIT and LAYOUTCOMMIT.

On Tue, 17 Sep 2019 at 04:41, Magnus Westerlund
<magnus.westerlund@ericsson.com> wrote:
>
> Hi,
>
> Looking at Errata 2751:
> https://www.rfc-editor.org/errata_search.php?eid=2751
>
> I think it is fairly obvious that Approving this would not be a
> clarification of what RFC5661 descibes. It appears to me (with my lack
> of good understanding of NFS) to be a change of the consensus behavior
> that was established when RFC 5661 was published.
>
> That the WG consensus today may be to accept the text in to RFC 5661bis
> is not relevant and that the implementation follows this. The way to
> resolve this is to establish the consesus for implement these changes
> into RFC 5661bis and then publish it replacing RFC 5661.
>
> Cheers
>
> Magnus
>
>
>
> On Mon, 2019-09-16 at 23:50 +0200, Mkrtchyan, Tigran wrote:
> >
> > ----- Original Message -----
> > > From: "Dave Noveck" <davenoveck@gmail.com>
> > > To: "Trond Myklebust" <trondmy@gmail.com>
> > > Cc: "Tigran Mkrtchyan" <tigran.mkrtchyan@desy.de>, "Rick Macklem" <
> > > rmacklem@uoguelph.ca>, "Magnus Westerlund"
> > > <magnus.westerlund@ericsson.com>, "NFSv4" <nfsv4@ietf.org>
> > > Sent: Monday, September 16, 2019 11:29:17 PM
> > > Subject: Re: [nfsv4] Progressing RFC errata for RFC 5661
> > > On Mon, Sep 16, 2019 at 4:26 PM Trond Myklebust <trondmy@gmail.com>
> > > wrote:
> > >
> > > >
> > > >
> > > > On Sun, 15 Sep 2019 at 09:44, David Noveck <davenoveck@gmail.com>
> > > > wrote:
> > > >
> > > > >
> > > > > An additional issue that needs to be addressed before
> > > > > incorporating these
> > > > > changes is that it is not appropriate to add extensive material
> > > > > about
> > > > > handling of the file layout to Section 12.  That belongs in
> > > > > Section 13. We
> > > > > don't want to exacerbate the confusion that Tom has noted
> > > > > between
> > > > > statements about layouts in general and  about file
> > > > > layouts.  Rfc5661bis
> > > > > needs to do better in this respect.
> > > > >
> > > > > > RFC5661 (2751
> > > > > > <
> > > > > > https://protect2.fireeye.com/url?k=0f81077e-53130a61-0f8147e5-0cc47ad93db4-61f6126ac10042d2&q=1&u=https%3A%2F%2Fwww.rfc-editor.org%2Fverify_errata_select.php%3Feid%3D2751
> > > > > > >)
> > > > > >
> > > > > > GLOBAL
> > > > > >
> > > > > > Technical
> > > > > >
> > > > > > nfsv4 (tsv)
> > > > > >
> > > > > > Ricardo Labiaga
> > > > > >
> > > > >
> > > > > This is similar to the errata above although, because of the
> > > > > extensiveness of the changes proposed I think *Rejected* is
> > > > > more
> > > > > appropriate as an errata status.
> > > > >
> > > >
> > > > Rejecting this would break clients that have been encoded to rely
> > > > on that
> > > > behaviour (i.e the Linux client, for one).
> > > >
> > >
> > > Rejecting the errata (i.e. putting it in the state "Rejected")
> > > would not do
> > > that.
> > >
> > > What would do that is doing an rfc5661bis that does not incorporate
> > > these
> > > changes, but I don't think the working group is going to do that,
> > > for the
> > > reasons you state.
> > >
> > >
> > > > Without it, we would be unable to determine whether or not a
> > > > LAYOUTCOMMIT
> > > > is required for the files pNFS layout type, and would have to
> > > > default to
> > > > assuming it does. That would put the existing client base in
> > > > violation.
> > > >
> > >
> > > It appears that the existing client base is in violation of
> > > rfc5661.   I
> > > don't think we want rfc5661bis to be the same, so I expect the
> > > working
> > > group will decide to make this sort of change.
> > >
> > > >
> > > >
> > >
> > > It would also force us to start sending LAYOUTCOMMIT to servers
> > > that
> > > > currently do not require it (i.e. NetApp).
> > > >
> > > > I'm not aware of any pNFS files server implementation that is in
> > > > violation
> > > > of this errata and that is expecting a LAYOUTCOMMIT on a commit-
> > > > through-MDS
> > > > implementation, or following a FILE_SYNC return from a commit-
> > > > through-DS
> > > > implementation. Ccing Rick and Tigran for their input.
> > > >
> > >
> > > If there are such server implementations, people will be able to
> > > tell us
> > > about them, when we review the rfc5661bis section replacing Section
> > > 13 of
> > > rfc5661.
> >
> > If I read suggested errata correctly, then our server does exactly
> > what is suggested:
> >
> > We do not set NFL4_UFLG_COMMIT_THRU_MDS flag and return data server
> > returns
> > DATA_SYNC4 on WRITE, with expectation is that client will send a
> > LAYOUTCOMMIT.
> >
> >
> > >
> > > The basic issue is that errata are for correcting situations in
> > > which an
> > > RFC does not correctly represent the decisions of the working
> > > group.  I
> > > believe that, in this case, the working group wants to change its
> > > decision,
> > > for the good reasons you have indicated.   By saying that the
> > > errata should
> > > be put in status "Rejected", I do not mean to imply that these
> > > changes
> > > should not go into rfc5661bis.   I'm only saying that, according to
> > > the
> > > IETF rules that Magnus pointed us to, this is the correct
> > > status.   Magnus
> > > will make the final decision on errata status.   Regarding the
> > > incorporation of these changes into rfc5661bis, the working group
> > > will make
> > > a decision which the editor will then try to sell to the IESG,
> > > using the
> > > kind of arguments that you have made above.   The IESG does not
> > > want the
> > > spec to diverge from exsting implementations, so I don't expect a
> > > lot of
> > > pushback, once the situation is made clear to them.
> >
> >
> > This diverge is caused by 'on the field' experience, which covered by
> > rfc 5661
> > not 100% precise.
> >
> > Thanks,
> >    Tigran.
> --
> Cheers
>
> Magnus Westerlund
>
>
> ----------------------------------------------------------------------
> Network Architecture & Protocols, Ericsson Research
> ----------------------------------------------------------------------
> Ericsson AB                 | Phone  +46 10 7148287
> Torshamnsgatan 23           | Mobile +46 73 0949079
> SE-164 80 Stockholm, Sweden | mailto: magnus.westerlund@ericsson.com
> ----------------------------------------------------------------------
>