[nfsv4] Re: question about delegated timestamps (delstid draft)
Thomas Haynes <loghyr@gmail.com> Tue, 10 September 2024 17:53 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 5C68FC1E6418; Tue, 10 Sep 2024 10:53:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.107
X-Spam-Level:
X-Spam-Status: No, score=-2.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, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Dle0A4lY3d2M; Tue, 10 Sep 2024 10:53:34 -0700 (PDT)
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) (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 C298CC1CAE82; Tue, 10 Sep 2024 10:53:25 -0700 (PDT)
Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-206b9455460so759445ad.0; Tue, 10 Sep 2024 10:53:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1725990805; x=1726595605; 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=Jk7MwdmGsH4zqwj8Rer6LUVCzT4xIFP8JCuQjQO8OxQ=; b=DM4Is4/2MTJXYMtn2e1g7Cmcu9rcAZvlT5AzGERmoFMY5m5hjb/rkjvqa+FRojQxfl clvXLWezPgW7NNa1HAUrp7VMptvdW9RvczunOX5GpVtdUFpmmG60Mc1lDftet22r/PsI 1zpNQPC39Yoby1M5eWXr6MQ55MAOYJPV9toWtiPYt1kJuV1HIrG1d0f52DgIn8hsgbao JqfNqwrKBUYf9C93GbXZnIqnQMaRj8J4X1DJoxn/xDz826oLtm92qUW1okbyVtqZ0WZj x/UE9GJhTVcLnI3+ItJ3malJUd7PQL4BUhcmJAn0nCjn79NMD0zvrTshS+r5FC3SmIII tviQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725990805; x=1726595605; 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=Jk7MwdmGsH4zqwj8Rer6LUVCzT4xIFP8JCuQjQO8OxQ=; b=AAaiCraZSdOeJhO99k4yqsBuEJJLxMa0cgSHhtSmGJOVIKNr2H9UhW8A0cRLP5gOZi 8ql+35AfAp8RhAumtOYCSFLihUY72MUg+5ATi5Qaw+bF5s2WUGGrOLkDXgJ5kFmgjoc0 pNJd4IOUsvQrCuu/yiURgtgECyT17Hd5DOoKJQYdVntsZ48xS6qYFg9YW+r0lFNCvQVA zO+qsrcUNqyNkHe9YdoNt3XD3pIx+anx9iG5JbAd5aNXeDfN5uRUVZ4mL8KZ5Fn6iVBI +nhaidxuBUtIkAM8AFYTSUvDvVni3IF9q6DUf2eFAcJvD3IuDvKyhFdmC69NSv1s6o80 GhIQ==
X-Forwarded-Encrypted: i=1; AJvYcCV9xED0r1jKPojlZ1IU+H2YCjZe/U5QMTgB7QmvkWYgpsk7KLX2dwmNidFF6zscuqMXK3Vxkg==@ietf.org
X-Gm-Message-State: AOJu0YxdcgUKV+AO7ozM47h4OXfigi+sPwzmu2l8wlxmcto5N34JDiPH Gd62cWVSBx+DTbUXhn0PfourZBO2vTzUsabM+p8OiRGjqqQWRbM+ENgYoA==
X-Google-Smtp-Source: AGHT+IFI5b/hmFvWwP0DtpcJcG7Q3f26P4g8Q9kx7Am6TiQGq+NIRULhPlDGLpaHLN2sB61Bl3ljPQ==
X-Received: by 2002:a17:902:f546:b0:206:8eec:c085 with SMTP id d9443c01a7336-2074cb33ae0mr24424955ad.2.1725990805067; Tue, 10 Sep 2024 10:53:25 -0700 (PDT)
Received: from smtpclient.apple ([2601:647:4500:91:a50f:676d:bfcb:bcb6]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-20710f342edsm51303575ad.286.2024.09.10.10.53.24 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 10 Sep 2024 10:53:24 -0700 (PDT)
From: Thomas Haynes <loghyr@gmail.com>
Message-Id: <6745D67D-8495-4ACF-BD8E-D144E1FFD155@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_4B179819-E61B-4CE1-881B-73C9F4CBA210"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3776.700.51\))
Date: Tue, 10 Sep 2024 10:53:13 -0700
In-Reply-To: <de4a3a4a9ec8109b0c09cf22065952ca6d9e64b5.camel@poochiereds.net>
To: Jeff Layton <jlayton@poochiereds.net>
References: <0fc24e8a75423febc31cf373db995deb99b47a7b.camel@poochiereds.net> <F784F7B7-AECE-40BE-97EE-17D5F8BB22CC@gmail.com> <cef9752f814b692c82b1a0eafeb453ca615c0f00.camel@poochiereds.net> <89B7F076-719F-4701-806E-C533EC6AFA9F@gmail.com> <289bb51d7df25640bfbf5881c8c5ccde7ffc0ede.camel@poochiereds.net> <00BADC5E-3656-4BE7-83D7-7948DBEB8AAC@gmail.com> <de4a3a4a9ec8109b0c09cf22065952ca6d9e64b5.camel@poochiereds.net>
X-Mailer: Apple Mail (2.3776.700.51)
Message-ID-Hash: NCTWXV4JEGZD2UDSXVUBKSQI5ZX2UZXK
X-Message-ID-Hash: NCTWXV4JEGZD2UDSXVUBKSQI5ZX2UZXK
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: draft-ietf-nfsv4-delstid.all@ietf.org, NFSv4 <nfsv4@ietf.org>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [nfsv4] Re: question about delegated timestamps (delstid draft)
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/a4r2tq2lUDpq7b_ONkbjxoolDIs>
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 Sep 10, 2024, at 9:57 AM, Jeff Layton <jlayton@poochiereds.net> wrote: > > On Tue, 2024-09-10 at 09:53 -0700, Thomas Haynes wrote: >> >> >>> On Sep 10, 2024, at 9:22 AM, Jeff Layton <jlayton@poochiereds.net> wrote: >>> >>> On Tue, 2024-09-10 at 09:02 -0700, Thomas Haynes wrote: >>>> >>>>> On Aug 29, 2024, at 5:42 AM, Jeff Layton <jlayton@poochiereds.net> wrote: >>>>> >>>>> On Wed, 2024-08-28 at 15:34 -0700, Thomas Haynes wrote: >>>>>> >>>>>>> On Aug 28, 2024, at 10:13 AM, Jeff Layton <jlayton@poochiereds.net> wrote: >>>>>>> >>>>>>> The draft says mentions this: >>>>>>> >>>>>>> Further, when it gets a SETATTR in the same compound as the >>>>>>> DELEGRETURN, then it MUST accept those fattr4_time_deleg_access >>>>>>> attribute and fattr4_time_deleg_modify attribute changes and derive >>>>>>> the change time or reject the changes with NFS4ERR_DELAY (see >>>>>>> Section 15.1.1.3 of [RFC8881]). >>>>>>> >>>>>>> Presumably, the SETATTR will precede the DELEGRETURN in the compound, >>>>>>> in which case (at least under Linux kernel server) we will not have >>>>>>> vetted the DELEGRETURN stateid yet. >>>>>>> >>>>>>> The simplest fix might be to just have it accept SETATTR for the >>>>>>> delegated atime and mtime iff the client is the owner of the write >>>>>>> delegation. >>>>>>> -- >>>>>>> Jeff Layton <jlayton@poochiereds.net> >>>>>> >>>>>> >>>>>> Looking at the HS implementation, we do just that, we accept it if the client is the owner of the WRITE delegation. >>>>>> >>>>>> I.e., we do not insist that there is a DELEGRETURN. >>>>> >>>>> Thanks for confirming it. Maybe we should update the draft along those >>>> >>>>> lines too? Have it say that the SETATTR that sends these new attrs must >>>>> contain a WRITE delegation stateid, and drop the language about having >>>>> a DELEGRETURN in the compound? >>>>> >>>>> -- >>>>> Jeff Layton <jlayton@poochiereds.net> >>>> >>>> >>>> Hey Jeff, >>>> >>>> Work interfered, so just now getting back to this. >>>> >>>> The next paragraph in the draft states: >>>> >>>> These new attributes are invalid to be used with GETATTR, VERIFY, and >>>> NVERIFY and can only be used with CB_GETATTR and SETATTR by a client >>>> holding an appropriate delegation. The SETATTR SHOULD either be in a >>>> separate compound before the one containing the DELEGRETURN or when >>>> in the same compound, as an operation before the DELEGRETURN. >>>> Failure to properly sequence the operations may lead to race >>>> conditions. >>>> >>>> Why can’t it send a SETATTR in the same compound as the DELEGRETURN? >>>> >>> >>> Oh, it absolutely can. When I read the paragraph, I took it as if the >>> server had to accept those attrs if there was a DELEGRETURN in the same >>> compound. >>> >>> Maybe I'm just being pedantic, but I don't think we want to allow read >>> delegation holders to do this, just because they happen to be returning >>> the deleg in the same compound. >>> >>>> I guess I would rewrite the paragraph you quote as simply: >>>> >>>> Further, when it gets a SETATTR with those attributes being set, then it MUST accept those fattr4_time_deleg_access >>>> attribute and fattr4_time_deleg_modify attribute changes and derive >>>> the change time or reject the changes with NFS4ERR_DELAY (see >>>> Section 15.1.1.3 of [RFC8881]). >>>> >>> >>> I think you just want to make it clear that the only client that can >>> set these attrs is the one holding the write delegation. >> >> >> >> It already says: >> >> These new attributes are invalid to be used with GETATTR, VERIFY, and >> NVERIFY and can only be used with CB_GETATTR and SETATTR by a client >> holding an appropriate delegation. >> >> This might be the case that the information is too spread out and that I am too close to the draft. >> >> > > Or I just didn't read closely enough... > > > Fair enough! I think that covers it after all. Sorry for the noise! No, thanks for the question! > -- > Jeff Layton <jlayton@poochiereds.net <mailto:jlayton@poochiereds.net>>
- [nfsv4] question about delegated timestamps (dels… Jeff Layton
- [nfsv4] Re: question about delegated timestamps (… Jeff Layton
- [nfsv4] Re: question about delegated timestamps (… Jeff Layton
- [nfsv4] Re: question about delegated timestamps (… Thomas Haynes
- [nfsv4] Re: question about delegated timestamps (… Jeff Layton
- [nfsv4] Re: question about delegated timestamps (… Thomas Haynes
- [nfsv4] Re: question about delegated timestamps (… Jeff Layton
- [nfsv4] Re: question about delegated timestamps (… Thomas Haynes
- [nfsv4] Re: question about delegated timestamps (… Jeff Layton
- [nfsv4] Re: question about delegated timestamps (… Thomas Haynes