Re: [nfsv4] New Version Notification for draft-haynes-nfsv4-layoutwcc-01.txt

Rick Macklem <rick.macklem@gmail.com> Sat, 18 March 2023 01:17 UTC

Return-Path: <rick.macklem@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 E9D17C1516E3 for <nfsv4@ietfa.amsl.com>; Fri, 17 Mar 2023 18:17:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 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, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-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 918560UlbZ92 for <nfsv4@ietfa.amsl.com>; Fri, 17 Mar 2023 18:17:04 -0700 (PDT)
Received: from mail-pg1-x52b.google.com (mail-pg1-x52b.google.com [IPv6:2607:f8b0:4864:20::52b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 33C32C14CE30 for <nfsv4@ietf.org>; Fri, 17 Mar 2023 18:17:04 -0700 (PDT)
Received: by mail-pg1-x52b.google.com with SMTP id y35so2728167pgl.4 for <nfsv4@ietf.org>; Fri, 17 Mar 2023 18:17:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679102223; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=HLpqu1vwEYekybNv7VdvtitcMqs6TTiyxGVQJXXXSh0=; b=QOmaMStYGaIiWgTQz/XzGJcCb19KYlWQY2iiSm3bCl05tAsafQhMP2q4gV7tgwrw5z XPIb8BtoYCafvhZ4PqBtrArt8qlgNLLuzXfDqYXhEOuy3hYQcg4BegBwy4CoRF/zVht0 uolZI+4YC6eM6Gz5x+Z2abI7kaPX1R7Dcwv/eKyrw1sb4kMNyYpyKUKtNeJ4svC4D8AQ Amb3x6X/FJXqt1sXxIdmPOPUSgJ4tR6KiFhS0Sp/PveOxgjCn/mIpDQIJ2BEU3eUTBOA 0+1OpJDIx/Z3AzZw1fyssP+TeHJEVWKsvaEoV0IeXaGIa7FN/qNIyAIXq8ixBZ7FFPba E2wg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679102223; h=content-transfer-encoding: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=HLpqu1vwEYekybNv7VdvtitcMqs6TTiyxGVQJXXXSh0=; b=31wjk+3dg2PC3I4dTTBEP0lJCzWMYnwY4RJDcWuioRLmBUeUT6zfK/23zUHbOogT8e XlmIV12fO3s1EVq6w5fmet6LnL3K66e9ou7c7aU0VJ1J185kzRE+aK+PduCfwAoMyuDy 5RgMeckKqDzj/q9P+ei3RKpuRJi7pX8VLexJDqmpqn5hdxbfEko/TrLpxEWpoSEfW7tx HV4c1A49mcNKpGodWk38Tt39B/dV1Wc4VBn8tkmCAT7OxvtvyWWrYKpi6U/fp4PzowTd OvrCOkIRq2JeV4EIka5BL1lSBQU7tZRRxmk+fGNBMuAgQPQAyXiItNVsqY8uLLSmXGqk 6TYQ==
X-Gm-Message-State: AO0yUKUxXDIBwsw32qOWeXnWoH9ZVcFk67lnI6llH5g0vW1HFbAGM7lQ rpe4QBMYq7YhjDzMc7nUkZ1nEyuPlTAzHERcWGh3Jgc=
X-Google-Smtp-Source: AK7set9K9EBDmGAIyPeX2mIWSKuUSbPl7pHffjXLauopGCOrTXt6bjl/fkCqU3OB1+J3fBADFkmUuqdMV5+FNGOG5/Y=
X-Received: by 2002:a05:6a00:1a52:b0:5aa:310c:e65b with SMTP id h18-20020a056a001a5200b005aa310ce65bmr4159455pfv.2.1679102223539; Fri, 17 Mar 2023 18:17:03 -0700 (PDT)
MIME-Version: 1.0
References: <167690801491.19966.10073497475444708402@ietfa.amsl.com> <593CEF2C-EE09-4CB7-86F3-E84F3C7E35B4@hammerspace.com> <1681714268.9413960.1679079821291.JavaMail.zimbra@desy.de> <CAM5tNy49hNW08xhmpCZW610P3rz+fhsoYmhyzbkx85oUG-7RYA@mail.gmail.com> <4CE0EA48-25DB-416E-A8AF-98C12F265C34@hammerspace.com>
In-Reply-To: <4CE0EA48-25DB-416E-A8AF-98C12F265C34@hammerspace.com>
From: Rick Macklem <rick.macklem@gmail.com>
Date: Fri, 17 Mar 2023 18:16:46 -0700
Message-ID: <CAM5tNy5GcTCzCqSsbkbK8NkW2oiuXrkopyt3tNXFcN+Xk5EYKA@mail.gmail.com>
To: Thomas Haynes <loghyr@hammerspace.com>
Cc: NFSv4 <nfsv4@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/N98gDPgF72NPrJjT9x5s0hSHEq0>
Subject: Re: [nfsv4] New Version Notification for draft-haynes-nfsv4-layoutwcc-01.txt
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.39
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, 18 Mar 2023 01:17:08 -0000

On Fri, Mar 17, 2023 at 4:35 PM Thomas Haynes <loghyr@hammerspace.com> wrote:
>
>
>
> On Mar 17, 2023, at 4:19 PM, Rick Macklem <rick.macklem@gmail.com> wrote:
>
> Here are a few generic comments...
> As it stands, I could not implement this in a way that I would think
> would be useful.
>
> - There is no indication when the client should issue this operation to
>  the MDS. I'd suggest something like "whenever the client expects attributes
>  related to writing is up-to-date for a Getattr against the MDS" or something
>  like that.
>
>
>
> This is a fair ask, I’ll add wording to that effect.
>
>
>
>  --> As a client implementor, I need to know when to do this..
>
> Which attributes? It doesn't seem to get specific about what attributes.
> I'd suggest a specific list. Possibly:
> Size
> Change
> TimeModify
> SpaceUsed
> and maybe TimeAccess?
>
>
> Again, a good point. I’ll add text for this as well.
>
>
>
> Change is going to be problematic for NFSv3 DSs.
> Maybe a mechanism similar to what is defined for handling
> Change when a client holds a Write delegation can be used?
>
> When I did the pNFS flexfile layout client, I did a LayoutCommit
> whenever the client needs up-to-date attrbute values, because I
> thought that was what LayoutCommit would be useful for.
> --> If the client does this, the pNFS flexfiles layout server only needs
>      to get up-to-date attributes from the DS at that point in time and
>      can cache them in the MDS otherwise, unless there are Getattr
>      requests from client(s) that do not do pNFS, such as NFSv3/v4.0
>      clients.
> --> I discovered that the Linux client does not do LayoutCommit for
>      some cases where it expects the above attributes to be up-to-date,
>      so I was forced to query the DS whenever the MDS receives a
>      Getattr and any RW layout for the file has been given out.
>
>
> This is a GETATTR which asks for size, space_used, or one of the times, right?
Yes. The FreeBSD pNFS server keeps a copy of the above attributes in the MDS
and updates them when a Getattr for them (or any NFSv3 Getattr) shows up.

>
> Also, what do you do during grace recovery? Are you keeping track of open files across restarts?
>
> Or when you see the client doing an OPEN previous, do you refresh your attrs?
>
Nothing, but you are right, I probably should be updating the
attributes on the MDS during
restart.
However, I just (re)read Sec. 12.7.4 and 18.42 of RFC8881 and I don't see why
LayoutCommit is not sufficient for this? (It takes a "hint" of new
file size and modify
time in the arguments and when I read it, it seems that the pNFS
client should only
expect these file attributes to be up-to-date after doing it.

Also, if there was a Flex files specific lou_body<> for layoutupdate4,
a LayoutCommit
done during grace could report write errors. (That might be simpler
than your suggested
changes to LayoutReturn?)

If the client follows the advice in 12.7.4 to do a LayoutCommit during
grace, that would
update the attributes on the MDS if the client has done writing to DS(s).
Btw, only updating attributes on the MDS upon LayoutCommit reduces the MDS<->DS
attribute acquisitions (FreeBSD uses a MDS->DS Getattr RPC) significantly.
As I noted, I changed this because it didn't work for the Linux client.

rick

>
>
>      (The description of when to do LayoutCommit is vague in the RFCs.
>        I recall the Linux client doesn't do a LayoutCommit unless it needs
>        to also do a Commit to the DS.)
>
> My point is, this situation can be improved if there is a well defined
> "if the client expects up-to-date attributes, it must do this".
>
> In general, for this to be useful for me to implement (client and server),
> I need more specifics w.r.t. what attributes, when the Layout_wcc must
> be done.
>
>
> Okay, I can’t do a new version for two weeks because of the quiet period with the IETF.
>
> Thanks for the review!
>
>
>
> rick
>
> ----- Original Message -----
>
> From: "Thomas Haynes" <loghyr@hammerspace.com>
> To: "NFSv4" <nfsv4@ietf.org>
> Sent: Monday, 20 February, 2023 16:48:45
> Subject: [nfsv4] Fwd: New Version Notification for draft-haynes-nfsv4-layoutwcc-01.txt
>
>
> This version addresses the issue that the draft is NFSv3 Flex Files only.
>
> Thanks,
> Tom
>
> Begin forwarded message:
>
> From: internet-drafts@ietf.org
> Subject: New Version Notification for draft-haynes-nfsv4-layoutwcc-01.txt
> Date: February 20, 2023 at 7:46:54 AM PST
> To: "Thomas Haynes" <loghyr@hammerspace.com>, "Trond Myklebust"
> <trondmy@hammerspace.com>
>
>
> A new version of I-D, draft-haynes-nfsv4-layoutwcc-01.txt
> has been successfully submitted by Thomas Haynes and posted to the
> IETF repository.
>
> Name: draft-haynes-nfsv4-layoutwcc
> Revision: 01
> Title: Add LAYOUT_WCC to NFSv4.2
> Document date: 2023-02-20
> Group: Individual Submission
> Pages: 9
> URL:
> https://www.ietf.org/archive/id/draft-haynes-nfsv4-layoutwcc-01.txt
> Status:         https://datatracker.ietf.org/doc/draft-haynes-nfsv4-layoutwcc/
> Html:
> https://www.ietf.org/archive/id/draft-haynes-nfsv4-layoutwcc-01.html
> Htmlized:
> https://datatracker.ietf.org/doc/html/draft-haynes-nfsv4-layoutwcc
> Diff:
> https://author-tools.ietf.org/iddiff?url2=draft-haynes-nfsv4-layoutwcc-01
>
> Abstract:
> The Parallel Network File System (pNFS) Flexible File Layout allows
> for a file's metadata (MDS) and data (DS) to be on different servers.
> It does not provide a mechanism for the data server to update the
> metadata server of changes to the data part of the file.  The client
> has knowledge of such updates, but lacks the ability to update the
> metadata server.  This document presents a refinement to RFC8434 to
> allow the client to update the metadata server to changes on the data
> server.
>
>
>
>
> The IETF Secretariat
>
>
>
>
> _______________________________________________
> nfsv4 mailing list
> nfsv4@ietf.org
> https://www.ietf.org/mailman/listinfo/nfsv4
>
> _______________________________________________
> nfsv4 mailing list
> nfsv4@ietf.org
> https://www.ietf.org/mailman/listinfo/nfsv4
>
>
> _______________________________________________
> nfsv4 mailing list
> nfsv4@ietf.org
> https://www.ietf.org/mailman/listinfo/nfsv4
>
>