[nfsv4] Re: AD review : draft-ietf-nfsv4-layoutwcc-02

Thomas Haynes <loghyr@gmail.com> Thu, 03 October 2024 17:15 UTC

Return-Path: <loghyr@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 E98A1C1D4A94 for <nfsv4@ietfa.amsl.com>; Thu, 3 Oct 2024 10:15:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.107
X-Spam-Level:
X-Spam-Status: No, score=-1.107 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, FREEMAIL_REPLY=1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=no 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 bZKAp712JbCH for <nfsv4@ietfa.amsl.com>; Thu, 3 Oct 2024 10:15:56 -0700 (PDT)
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com [IPv6:2607:f8b0:4864:20::636]) (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 2CE30C180B45 for <nfsv4@ietf.org>; Thu, 3 Oct 2024 10:15:56 -0700 (PDT)
Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-20b0b2528d8so13642745ad.2 for <nfsv4@ietf.org>; Thu, 03 Oct 2024 10:15:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727975755; x=1728580555; darn=ietf.org; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=s1G2C0fJ3CLdfKaP/2OHHUes8lf4lcB0ThvjvnjPeAI=; b=kZWa+kPI4LKaxK9PHt/m+pzeSTLfqqAei3r6WDk+/MV7qD0uXAK2E6JnqkJUmoF5Pv XSnp2Yqwy556pMJ29LCdOkT3IuuNPWF3ncSRyFRidqpbKaf79BnXGGCqiTSixhmeRnRY G9ka+2p9/7UGNnKlQG7RNCvlPT0GQOFKK3umR4HCDNRZEvI2TAIxTuVDtYuvyGjVTFXw lgIsb38f0ggpOA4F5gktTxlUBoN5pbxqt3JxjKtiHBR7jRg3jbOXpmTQK/uCh/9nZlGJ WHaGIuJd2qpYCK+yjn6IcqYxm/KesWJUNgbzTs0SzJDfjfg5KIaDX6E97tJjwB83LYq3 xazw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727975755; x=1728580555; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=s1G2C0fJ3CLdfKaP/2OHHUes8lf4lcB0ThvjvnjPeAI=; b=lpsSf7qX/hq5d0uVPKGr4XRcd3W2QaZzgkPv5wCTG/VjGezUT6BUd2h/M16sGogzlD p4F/I+Wo3QrqT4HZPfMI2O3y/nDYzkiSJkIz4Vt4EGdM7mLsGUtvftYH95u3ggor44fa DXRMqb1xksqvJtD8JKVukLDuxJpMc2J2oAAaGdaliL/X8TwCjJvbhvOqqBl7recswSfb o/yAvgxdctOxXjrpM5ay0EHxLh0G0tJ7YcFUpVa/ba05lG8Q1ja9LhDyBi0gYLZztikR 8iUQYVn+P7hEPqW+rh2bq26UFNXw29Lz2VcK8947phj19ZXI2nLAXkxAsQE2qDeOWcOc JGVQ==
X-Gm-Message-State: AOJu0YwG0DLRuO0xMT9p7wgS1pEwDnNkbBfM/gLq/3RvBsjMr1UZEqjh +j3WTzx2uhR32cdvXfnUXdWziAbtEkWbyJ6zP4tWEsBUHSeeagOQWgM9Hw==
X-Google-Smtp-Source: AGHT+IE5UztWhp+X/KyW5MRgTx+NE1lDBNrJ4L/thsBcOcJv0zDMOfoPbqTj3Y3kWWKNzoqebBOAag==
X-Received: by 2002:a17:903:244e:b0:20b:9e14:c138 with SMTP id d9443c01a7336-20bc5a1d696mr132558815ad.23.1727975754946; Thu, 03 Oct 2024 10:15:54 -0700 (PDT)
Received: from smtpclient.apple ([2601:647:5b00:bf9:394c:a3a6:8527:fcd8]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-20beead4985sm11336455ad.23.2024.10.03.10.15.54 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 03 Oct 2024 10:15:54 -0700 (PDT)
From: Thomas Haynes <loghyr@gmail.com>
Message-Id: <27BB1E9E-5899-42CC-9234-83CFA4293383@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_FD4DBC25-7DC1-49A5-8738-B52A6DCBF744"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3818.100.11.1.3\))
Date: Thu, 03 Oct 2024 10:15:43 -0700
In-Reply-To: <CAEh=tccxa+HexWOWz_sD6hC=rqwz3=_L0zJ4FL54NXPmbJGnQQ@mail.gmail.com>
To: Zaheduzzaman Sarker <zahed.sarker.ietf@gmail.com>
References: <CAEh=tcfyKt4SwdKWJfk8u2f+b3prEMhiHLD8DvEojzn=5S9Tgw@mail.gmail.com> <1D9C1A8E-101C-45FD-AD9A-3AF7C41F61A4@gmail.com> <CAEh=tccxa+HexWOWz_sD6hC=rqwz3=_L0zJ4FL54NXPmbJGnQQ@mail.gmail.com>
X-Mailer: Apple Mail (2.3818.100.11.1.3)
Message-ID-Hash: YQQLDOICYP4LCDVDWJF7ERNOUUYEFYWL
X-Message-ID-Hash: YQQLDOICYP4LCDVDWJF7ERNOUUYEFYWL
X-MailFrom: loghyr@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: NFSv4 <nfsv4@ietf.org>
X-Mailman-Version: 3.3.9rc5
Precedence: list
Subject: [nfsv4] Re: AD review : draft-ietf-nfsv4-layoutwcc-02
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/49c7mjCLSp7v7whsp_igUGHB0ME>
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 Oct 3, 2024, at 9:55 AM, Zaheduzzaman Sarker <zahed.sarker.ietf@gmail.com> wrote:
> 
> 
> 
> On Tue, Sep 24, 2024 at 10:01 AM Thomas Haynes <loghyr@gmail.com <mailto:loghyr@gmail.com>> wrote:
>> 
>> 
>>> On Aug 14, 2024, at 8:55 AM, Zaheduzzaman Sarker <zahed.sarker.ietf@gmail.com <mailto:zahed.sarker.ietf@gmail.com>> wrote:
>>> 
>>> Hi,
>>>  
>>> I have now reviewed the draft-ietf-nfsv4-layoutwcc and I think this document need to improve the writing. Hence please respond to the comments and resolve them.
>>>  
>>> I have done this review as If I don't really understand NFSv4 and NFSv3 (which might be anyway true) and tried to reflect on things that was unclear in the description.
>>>  
>>> I hope this review helps and feel free to take the opportunity to educate me.
>>>  
>>> //Zahed
>>>  
>> 
>> 
>> Zahed,
>> 
>> The review does help.
>> 
>> I am sending out a revised copy of the draft to see if my changes tackle the issues you have raised.
>> 
>> I think we will have another round after this one.
>> 
>> 
>> Thanks,
>> Tom
>> 
>> 
>> 
>> 
>>>  
>>>  
>>> My section by section comments are below -
>>> ====================================
>>>  
>>> # Abstract
>>>     s/This document presents a refinement to RFC8435 to allow the client to update the metadata server to changes on the data server/ This document updates RFC8435 to allow the client to update the metadata server to changes on the data server.
>>>  
>>>     This makes it clear that the current specification will update RFC 8435.
>>>  
>>>     However, to me it is still not super clear if we are updating RFC 8435 or extending RFC 7862. What is the rationale here for the update tag?
>> 
>> 
>> Good catch!
>> 
>> We removed it from delstid after discussion. I have removed it.
>> 
>> Also, we have this:
>> 
>> This document presents a
>>       refinement to RFC8435 to allow the client to update the metadata
>>       server to changes on the data server.
>> 
>> Would you prefer:
>> 
>> This document presents an
>>       extension to RFC8435 to allow the client to update the metadata
>>       server to changes on the data server.
> 
> Yes. So are you saying you don't need the update tag? 


Yes,



>> 
>> 
>> 
>>>  
>>> # Section 1
>>>  
>>>     My initial assumption was that we have a useful feature with WCC for NFv3 that we would like to allow for NFv4 with LAYOUT-WCC. However, the more I read Section 1 and Section 2, I am getting more confused as the description of NFSv4 and NFv3 is very intertwined. Either my assumption is wrong or the text should be improved, either case I think the following would help.
>>>         - let’s assume the reader will read this as a starting document (I think this will be true for the most of the reviewers in the process) hence, let's describe the scenario better for them and not assume they understand and know the difference between NFv4 and NFSv3 by heart. Hence, providing right reference is the right tools here. Also make sure we write
>>>             - the version of NFS the metadata server is running or does it even matter
>>>             - short description of the WCC and reference the RFC for the details
>>>         - Lets keep all the NFv3 related details in the Introduction section. This means describe some of the basic concepts those are described in different sub-sections of section 2 in Section 1, and focus on NFSv4 specifics in section 2 and 3. This means already in introduction we write the relation of NFSv3 GETATTR to NFv4 GETATRR and who sends them , etc. as a base to understand the extension are doing in the rest of the sections.
>>>         - Make sure we are specific about the extension we are doing in this specification - are we writing this specification only for NFSv4 client or the client's NFV version does not matter? If the client learns gid and uid from via NFSv3 how that is done and why that is important here. This pops up if I read the following sentence -
>>>  
>>>                        "In this document, we introduce a new operation called LAYOUT_WCC which allows the client to periodically report the attributes of the data files to the metadata server."
>>>  
>>>  
>>> # Section 2.1
>>>  
>>>     Please provide the reference to the data types of the structs
>> 
>> Done
> 
> OK 
>> 
>>>  
>>> # Section 2.3
>>>  
>>>     It not clear if the extension is for NFSv4 only or it can also replace WCC for NFSv3. 
>>>  
>>>     Why are first 3 paragraph relevant at all? what is the relation of this description to the extension?
>> 
>> 
>> It is the motivation for the changes. Pulled into a new section as per your other comments.
> 
> Good. 
>> 
>> 
>> 
>>>     
>>>     Overall, sometimes it is not clear in the text on who does what. I think we can do a better job of stating what is client's responsibility and what is metadata server's. This might be get cleared automatically when we have a better split between the section 1 and section 2
>>>  
>>> # Section 2.4.1
>>>  
>>>     - Please provide reference to mtime, atime and all the attribute mentioned (size, space_used, change, time_access, time_metadata, and time_modify.).
>> 
>> 
>> Done
>> 
>>>     - it says - 
>>>  
>>>             Whenever it sends an NFS4ERR_ACCESS error via LAYOUTRETURN or LAYOUTERROR - it could have already gotten the NFSv3 uid and gid values back in the WCC of the WRITE, READ, or COMMIT operation which got the error.
>>>     
>>>         I am a bit confused here, just reading the text here, are you saying the client had got some attributes via NFSv3 but when error occurs it uses NFv4 LAYOUT-WCC to report? 
>> 
>> Yes. 
>> 
>> 
>> But I will need to check to see if it can get those values on an error.
>  
> Please check and update accordingly.
>> 

3.1 General comments on attributes and consistency data on failure

   For those procedures that return either post_op_attr or wcc_data
   structures on failure, the discriminated union may contain the
   pre-operation attributes of the object or object parent
   directory.  This depends on the error encountered and may also
   depend on the particular server implementation. Implementors are
   strongly encouraged to return as much attribute data as possible
   upon failure, but client implementors need to be aware that

      
      
Callaghan, el al             Informational                     [Page 29]
^L    
RFC 1813                 NFS Version 3 Protocol                June 1995
      

   their implementation must correctly handle the variant return
   instance where no attributes or consistency data is returned.


I added a small change: 

            Whenever it sends an NFS4ERR_ACCESS error via LAYOUTRETURN or LAYOUTERROR - it could
            have already gotten the NFSv3 uid and gid values back in the WCC of the WRITE,
-           READ, or COMMIT operation which got the error.
+           READ, or COMMIT operation which got the error. Thus it could report that information
+           back to the metadata server, saving it from querying that information via a NFSv3 GETATTR.


>> 
>> 
>>>  
>>> # Section 2.5
>>>  
>>>     We should be very clear that we are not defining any new ERROR for LAYOUT_WCC if that is the case and reference to where the errors are defined. Otherwise, we need to explain each and every errors here in this document, that would be cumbersome or repeating.
>> 
>> Agreed and done.
> 
> OK. 
>> 
>>>  
>>> # Section 5 IANA considerations : 
>>>  
>>>     Please provide more details on which IANA registry to be updated/amended for the new entries. 
>> 
>> 
>> Marked the section as not to be included in the final draft.
> 
> Why? don't you want to update the registry with new entries? 

There are no new entries for any registry.


>> 
>> I think historically we use this to show that RFC-TBD means the assigned RFC number.
> 
> But you would need to say what registries need to be updated with what entries.
> 
> 
> //Zahed
>  
>> 
>> 
>>> _______________________________________________
>>> nfsv4 mailing list -- nfsv4@ietf.org <mailto:nfsv4@ietf.org>
>>> To unsubscribe send an email to nfsv4-leave@ietf.org <mailto:nfsv4-leave@ietf.org>