[nfsv4] Re: Gunter Van de Velde's Discuss on draft-ietf-nfsv4-layoutwcc-05: (with DISCUSS and COMMENT)

David Noveck <davenoveck@gmail.com> Fri, 07 February 2025 08:26 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 0371DC20C8E5; Fri, 7 Feb 2025 00:26:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 780ESCieVy_b; Fri, 7 Feb 2025 00:26:42 -0800 (PST)
Received: from mail-qv1-xf32.google.com (mail-qv1-xf32.google.com [IPv6:2607:f8b0:4864:20::f32]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 97C89C1D3DC4; Fri, 7 Feb 2025 00:26:42 -0800 (PST)
Received: by mail-qv1-xf32.google.com with SMTP id 6a1803df08f44-6dd420f82e2so23404786d6.1; Fri, 07 Feb 2025 00:26:42 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738916802; x=1739521602; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=fpoj/yHsMTcHnT7WSg8DYxTxUz+yv8YC/jjUtkJJcxY=; b=YVmkOHZiqGbP8PD07OcqNRE0o8UZIyAymyWYDVKQiFVEisrv0+3WodkkMjR0W2dm7t XzAgkq1t1UmFituFBpU2HjtmYK24H5PAtqQ7XqrxH4RMjxDJAko+KjAQrpOw3BI6b8+p ffHjuDtfDEY/y0LaLN2ovFU8WwYLB5iTx38oynHq605H6oycTqr3h9AhgIDYvAiGLtV2 YHSreUkUshl1XQcQGUsiHDQAw6n3qypSM+F87HD3wwYAaPNdJhNs3a8VZbQYMnprNR+A suJv6eg9QXVvTg8LBwv4meSOWq/npVL3/tS4hWgSjkW2n7agum8WI0Lx1PH/ImC7fuMd T67Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738916802; x=1739521602; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=fpoj/yHsMTcHnT7WSg8DYxTxUz+yv8YC/jjUtkJJcxY=; b=MXu0D5QZxQ+r/Ca2sDCmVlEmDVBDSOn07RSY+6zJR/x/QXpeNckKdwNGsyrGyCiCkz CBlgEMTmlJRluGDbSf6v5WE7quhG7PXeZaSRcaz/s57leGO82uihRQInDrfaJ1ldkoic s55eXvYlJ2YbA/oMdoJpL70BLXcu+7sJfhlwpecX9f9qmdOrl9IxSvJKLvJPua9PbuBP nKydOPseWVHRIPnP+YY7qMGiF0p5nWX2UJEMvIrgywy9+ENktXEtaeM52jM8fKDQzSgN OZpbcRnTkauSYtO/3fKoxdlySCq2QXQ46xouoi2sTtRcsumKTc5Kc+l9pIZrGzyHm2ES LUXQ==
X-Forwarded-Encrypted: i=1; AJvYcCVJ8liXpbkqJPrSg1FDXURLiEYT5qQGVy++O60C4GYLKaW4ZJngUpJq4bKJO/GjbsBkn5if+MW1Gd12uaPw@ietf.org, AJvYcCWkXzq1NZ8WjpRcWaHmI0JNYi0nAPy6PzbxYrO84exjpxFctFUcei5HuB09yc1y3SSluFGlvtrNBfDomNApX5kGtWPGX4AHJ0cv+g==@ietf.org, AJvYcCXXcSESAcG+xI/1xn71g+w5foPIZ8AKQ9MJg/nNfcgCAXpKAJew4ezvZWIqWYZNNo3EMi+XnfE=@ietf.org
X-Gm-Message-State: AOJu0Yw1XDFQGhoVDNrDdmOlB5shd9cH/mfi7kXug2fOPe0BHUiwb4gH t1/OnQ6cLzPUnH8enGrgMrdTezMO5VAwVBdSUBZMKV+ybYUWn2e+NfHxsKjZgiIbdKSyN1HFLr7 UjwGLnZZzLG2Z3y924YAngiqvZbEUSQ==
X-Gm-Gg: ASbGncsP1+HWSxZQwrxheuzvHBiORIGiJtEjd8rZx69T4zk9u+O5xd0UUtCkt2NMgwu 1K2umLSqXFTtEEwpsLLdWYrMfFcMGt7aMjVSsKxXoCsM9itpXfd+MWlxEe7kq0rOEArNs1+SyLr 83N0cfkrVt3WQAhBqwgeQ1LhC3BOxR
X-Google-Smtp-Source: AGHT+IFmFDKeqJo7Ly070estVpDTtKO2NsGzYre0yYP29Zpp4k/0cHd08VJ060z510rYAQJ7Cg9/IozkCz10lUHTofA=
X-Received: by 2002:ad4:5c64:0:b0:6e1:697c:d9b8 with SMTP id 6a1803df08f44-6e4455d2ff4mr34377966d6.9.1738916801557; Fri, 07 Feb 2025 00:26:41 -0800 (PST)
MIME-Version: 1.0
References: <173616823022.1843766.10743657654524313983@dt-datatracker-65f549669d-2xld9>
In-Reply-To: <173616823022.1843766.10743657654524313983@dt-datatracker-65f549669d-2xld9>
From: David Noveck <davenoveck@gmail.com>
Date: Fri, 07 Feb 2025 03:26:30 -0500
X-Gm-Features: AWEUYZlXb9ky1p1T0TwBWesdLcKN7XN0sKn1-y3f4QnFKWzfYjs20EkpbavdSdc
Message-ID: <CADaq8jdvGKUPVY3kprxPGB90rLNGG5BVMRyMUrL5R16HYB02TQ@mail.gmail.com>
To: Gunter Van de Velde <gunter.van_de_velde@nokia.com>
Content-Type: multipart/alternative; boundary="000000000000403aef062d891ea6"
Message-ID-Hash: M56G6BFV37DZOMQW3J4NZREBTIVCA52N
X-Message-ID-Hash: M56G6BFV37DZOMQW3J4NZREBTIVCA52N
X-MailFrom: davenoveck@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-nfsv4.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: The IESG <iesg@ietf.org>, draft-ietf-nfsv4-layoutwcc@ietf.org, nfsv4-chairs <nfsv4-chairs@ietf.org>, NFSv4 <nfsv4@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [nfsv4] Re: Gunter Van de Velde's Discuss on draft-ietf-nfsv4-layoutwcc-05: (with DISCUSS and COMMENT)
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/XHuRfpBTPhYPNKzBGswMGfBMGCE>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Owner: <mailto:nfsv4-owner@ietf.org>
List-Post: <mailto:nfsv4@ietf.org>
List-Subscribe: <mailto:nfsv4-join@ietf.org>
List-Unsubscribe: <mailto:nfsv4-leave@ietf.org>

On Mon, Jan 6, 2025, 7:57 AM Gunter Van de Velde via Datatracker <
noreply@ietf.org> wrote:

> Gunter Van de Velde has entered the following ballot position for
> draft-ietf-nfsv4-layoutwcc-05: Discuss
>
> When responding, please keep the subject line intact and reply to all
> email addresses included in the To and CC lines. (Feel free to cut this
> introductory paragraph, however.)
>
>
> Please refer to
> https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/
> for more information about how to handle DISCUSS and COMMENT positions.
>
>
> The document, along with other ballot positions, can be found here:
> https://datatracker.ietf.org/doc/draft-ietf-nfsv4-layoutwcc/
>
>
>
> ----------------------------------------------------------------------
> DISCUSS:
> ----------------------------------------------------------------------
>
> # Gunter Van de Velde, RTG AD, comments for draft-ietf-nfsv4-layoutwcc-05
>
> # the referenced line numbers are derived from the idnits tool:
>
> https://author-tools.ietf.org/api/idnits?url=https://www.ietf.org/archive/id/draft-ietf-nfsv4-layoutwcc-05.txt
>
> # Many thanks for this document. I am not very NFS aware, so my review is
> only
> high level and editorial.


True but it is useful nevertheless.

I do however have a single easy to resolve DISCUSS.
>

It should be easy to resolve.

>
> # I found the text at times not trivial to read due to strange language
> constructs.


I didn't see any "strange" language constructs.  I think the problems you
saw are due to the fact that it sometimes requires knowledge about multiple
versions of NFS and about the flexible files pNFS mapping type.

In some instances i proposed an editorial rewrite you could
> consider.
>

Thanks.


> #DISCUSS
> #=======
>
> # In the IANA section is written that there is no action required, but
> line 244
> and 245 seem to indicate that there is a code point allocated for
> lowa_type.
>

It is is not allocated by this document.

Maybe i got confused and misunderstood the text, or maybe the needs to
> describe
> the intent more accurate for NFS unware people as myself?
>
> 244        The lowa_type is defined to be a value from the IANA registry
> for
> 245        'pNFS Layout Types Registry'.
>

I suppose you could replace "is defined" by "has previously been defined"


>
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
>
> #DETAILED COMMENTS
> #=================
>
> 10      Abstract
> 11
> 12         The Parallel Network File System (pNFS) Flexible File Layout
> allows
> 13         for a file's metadata (MDS) and data (DS) to be on different
> servers.
> 14         It does not provide a mechanism for the data server to update
> the
> 15         metadata server to changes to the data part of the file.  The
> client
> 16         has knowledge of such updates, but lacks the ability to update
> the
> 17         metadata server.  This document presents a refinement to
> RFC8435 to
> 18         allow the client to update the metadata server to changes on
> the data
> 19         server.
>

I don't see any "strange language constructs.  I do see that understanding
this requires a context many users might not have.

>
> GV> What about the following alternative abstract:
>

It is clearer but not accurate :-(


> "
> This document specifies extensions to the parallel Network File System
> (NFS)
> version 4 (pNFS) for improving write cache consistency. These extensions
> introduce mechanisms that ensure partial writes performed under a pNFS
> layout
> remain coherent and correctly tracked.


It doesn't.

The solution addresses concurrency and
> data integrity concerns that may arise when multiple clients write to the
> same
> file through separate data servers. By defining additional interactions
> among
> clients, metadata servers, and data servers, this specification enhances
> the
> reliability of NFSv4 in parallel-access environments


It enhances the reliability of the flexible-files mapping type.

and ensures consistency
> across diverse deployment scenarios. "
>

Suggest changing "ensures" to "helps provide greater".

>
> 106        See Section 1.1 of [RFC8435] for a fuller set of definitions.
>
> GV> Not sure that using the word "fuller" is appropriate.


Kind of agree.

What about:
>
> "
> For a more comprehensive set of definitions, see Section 1.1 of [RFC 8435].
>

I would prefer "more extensive"

"
>
> 143        A layout type for pNFS enables the metadata server to tell the
> client
> 144        both the storage protocol and location of data to be used to
> 145        communicate with the storage devices.  The Flex Files Layout
> Type (in
> 146        [RFC8435]) details how NFSv3 data servers can be accessed.  The
> 147        client is only allowed to perform NFSv3 READ (see Section 3.3.6
> of
> 148        [RFC1813]), WRITE (see Section 3.3.6 of [RFC1813]), and COMMIT
> (see
> 149        Section 3.3.21 of [RFC1813]) operations on the file handles
> provided
> 150        in the layout.  I.e., the client is only allowed to use NFSv3
> 151        operations which directly act on the data portion of the data
> file.
>
> GV> I find the use of "to tell" odd in IETF text. What about the following
> editorial suggestion:
>
> "
> A pNFS layout type enables the metadata server to inform the client of
> both the
> storage protocol and the locations of the data that the client should use
> when
> communicating with the storage devices. The Flex Files Layout Type, as
> specified in [RFC 8435], describes how data servers using NFSv3 can be
> accessed. The client is restricted to performing NFSv3 READ (Section 3.3.6
> of
> [RFC 1813]), WRITE (Section 3.3.6 of [RFC 1813]), and COMMIT
> (Section 3.3.21 of
> [RFC 1813]) operations on the file handles provided in the layout. In other
> words, the client may only use NFSv3 operations that act directly on the
> data
> portion of the file. "
>
> 170        For example, the metadata server would issue a NFSv3 GETATTR to
> the
> 171        data server.  This query is most likely triggered in response
> to a
> 172        NFSv4 GETATTR issued by a client to the metadata server.  Not
> only
> 173        are these NFSv3 GETATTRs to the data server individually
> expensive,
> 174        the data server can become inundated by a storm of such
> requests.
> 175        NFSv3 solved a similar issue by having the READ and WRITE
> operations
> 176        employ a post-operation attribute to report the weak cache
> 177        consistency (WCC) data (See Section 2.6 of [RFC1813]).
>
> GV> This reads odd to me. Are you trying to suggest the following
>
> "
> For example, the metadata server might issue an NFSv3 GETATTR operation to
> the
> data server, which is typically triggered by a client’s NFSv4 GETATTR
> request
> to the metadata server. In addition to the cost of each individual GETATTR
> operation, the data server can be overwhelmed by a large volume of such
> requests. NFSv3 addressed a similar challenge by including a post-operation
> attribute in the READ and WRITE operations to report weak cache consistency
> (WCC) data (see Section 2.6 of [RFC 1813]). "
>
> 179        Each NFSv3 operation corresponds to one round trip between the
> client
> 180        and server.  So a WRITE followed by a GETATTR would require two
> round
> 181        trips.  In that scenario, the attribute information retrieved is
> 182        considered to be strict server-client consistency.


Considered by whom?  Not clear what this "strict consistency" implies.
There is no atomicity for the post-op attributes or for multiple ops a
compound.

  For NFSv4, the
> 183        WRITE and GETATTR can be issued together inside a compound,
> which
> 184        only requires one round trip between the client and server.
> And this
> 185        is also considered to be a strict server-client consistency.


Again, not sure what this means.

In
> 186        essence, the NFSv4 READ and WRITE operations drop the
> post-operation
> 187        attributes, allowing the client to decide if it needs that
> 188        information.
>
> GV> Proposal text:
>
> "
> Each NFSv3 operation entails a single round trip between the client and
> server.
> Consequently, issuing a WRITE followed by a GETATTR would require two round
> trips. In that situation, the retrieved attribute information is regarded
> as
> strict server-client consistency. By contrast, NFSv4 enables a WRITE and
> GETATTR to be combined within a compound operation, which requires only one
> round trip. This combined approach is likewise considered strict
> server-client
> consistency. Essentially, NFSv4 READ and WRITE operations omit
> post-operation
> attributes, allowing the client to determine whether it requires that
> information. "
>

Like the  original needs to be clearer what is "strictly"? Consistent with
what.

>
> 205        In this document, we present a new NFSv4.2 operation called
> 206        LAYOUT_WCC, which allows the client to update the metadata
> server
> 207        with information from the data server.  The client is
> responsible for
> 208        taking the NFSv3 WCC information (which is returned by the 3
> 209        operations it is allowed to use) and pass that back to the
> metadata
> 210        server in the NFSv4.2 attributes.  The metadata server MAY then
> avoid
> 211        costly NFSv3 GETATTR calls to the data servers.  As this is a
> weak
> 212        model, the metadata server MAY make such calls anyway in order
> to
> 213        strengthen the model.
>
> GV> proposal text:
>
> "
> This document introduces a new NFSv4.2 operation, LAYOUT_WCC, which
> enables the
> client to provide the metadata server with information obtained from the
> data
> server. The client is responsible for gathering the NFSv3 WCC data,
> returned by
> the three permissible NFSv3 operations, and conveying it back to the
> metadata
> server as part of NFSv4.2 attributes. The metadata server MAY therefore
> avoid
> issuing costly NFSv3 GETATTR calls to the data servers. Because this
> approach
> relies on a weak model, the metadata server MAY still perform these calls
> if it
> chooses to strengthen the model. "
>
> 239     3.3.  DESCRIPTION
> 240
> 241        The current filehandle and the lowa_stateid identifies the
> particular
> 242        layout for the LAYOUT_WCC operation.  The lowa_type indicates
> how to
> 243        unpack the layout type specific payload inside the lowa_body
> field.
> 244        The lowa_type is defined to be a value from the IANA registry
> for
> 245        'pNFS Layout Types Registry'.
> 246
> 247        The lowa_body will contain the data file attributes.  The
> client will
> 248        be responsible for mapping the NFSv3 post-operation attributes
> to
> 249        those in a fattr4.  Just as the post-operation attributes may be
> 250        ignored by the client, the server may ignore the attributes
> inside
> 251        the LAYOUT_WCC.  But the server can also use those attributes to
> 252        avoid querying the data server for the data file attributes.
> Note
> 253        that as these attributes are optional and there is nothing the
> client
> 254        can do if the server ignores one, there is no need to return a
> 255        bitmap4 of which attributes were accepted in the result of the
> 256        LAYOUT_WCC.
>
> GV> Alternative proposal text:
>
> "
> The current filehandle and the lowa_stateid identify the specific layout
> for
> the LAYOUT_WCC operation. The lowa_type indicates how to interpret the
> layout-type-specific payload contained in the lowa_body field. This
> lowa_type
> is defined as a value (TBD#1) from the IANA registry for 'pNFS Layout
> Types'.
>
> The lowa_body contains the data file attributes. The client is responsible
> for
> mapping NFSv3 post-operation attributes to the fattr4 representation.
> Similar
> to the behavior of post-operation attributes, the client may ignore these
> attributes, and the server may also choose to ignore any attributes
> included in
> LAYOUT_WCC. However, the server can use these attributes to avoid querying
> the
> data server for data file attributes. Because these attributes are
> optional and
> the client has no recourse if the server opts to disregard them, there is
> no
> requirement to return a bitmap4 indicating which attributes have been
> accepted
> in the LAYOUT_WCC result. "
>
> 458     6.  IANA Considerations
> 459
> 460        This section is to be removed before publishing as an RFC.
>

Not true.

461
> 462        There are no IANA considerations for this document.
>
> GV> Is this correct?


Yes.


Section 3 at line 244 & 245 i read:
>
>    The lowa_type is defined to be a value from the IANA registry for
>    'pNFS Layout Types Registry'.
>
> Does this not indicate that there is a value assigned by IANA?
>

Yes. But it should be clearer that this is not done by this document.

>
> Many thanks again for this document,
>

Thanks for the comments.


> Kind Regards,
> Gunter Van de Velde,
> RTG AD
>
>
>
> _______________________________________________
> nfsv4 mailing list -- nfsv4@ietf.org
> To unsubscribe send an email to nfsv4-leave@ietf.org
>