[nfsv4] Re: question around CB_GETATTR handling
Jeff Layton <jlayton@poochiereds.net> Thu, 05 September 2024 01:03 UTC
Return-Path: <jlayton@poochiereds.net>
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 202E8C1516EB for <nfsv4@ietfa.amsl.com>; Wed, 4 Sep 2024 18:03:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.898
X-Spam-Level:
X-Spam-Status: No, score=-6.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_PERMERROR=0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=poochiereds-net.20230601.gappssmtp.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 hHKQi1hipEet for <nfsv4@ietfa.amsl.com>; Wed, 4 Sep 2024 18:03:56 -0700 (PDT)
Received: from mail-yb1-xb34.google.com (mail-yb1-xb34.google.com [IPv6:2607:f8b0:4864:20::b34]) (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 6036BC1516E9 for <nfsv4@ietf.org>; Wed, 4 Sep 2024 18:03:55 -0700 (PDT)
Received: by mail-yb1-xb34.google.com with SMTP id 3f1490d57ef6-e116d2f5f7fso1167485276.1 for <nfsv4@ietf.org>; Wed, 04 Sep 2024 18:03:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=poochiereds-net.20230601.gappssmtp.com; s=20230601; t=1725498234; x=1726103034; darn=ietf.org; h=mime-version:user-agent:content-transfer-encoding:autocrypt :references:in-reply-to:date:cc:to:from:subject:message-id:from:to :cc:subject:date:message-id:reply-to; bh=EPP9qmK9Oc9z27v+k7qswyCWeirmpXSLXN7op90o8CM=; b=UlgY6cm3E2GX6yEXXAgElA4ssj/ocJ6EgGqAWlvSiSyo/odutAPDUBgP+5uZeNbwn8 BckRbtAkiyKkJi4/73piAeYqxr9aVACBe6H+FEoXNo31cbrYSnTc1fjq0v8vGUyK5VmU 2Jgyi2m90Caz5mSleKtExx+WoavbM7v1KKn3AQIq2pDvAYiZBDhdbMJvpa1LchuhnwvD YzIMUN5+9trEOIwqgH+4rsbeDq6HnQTuwGBRlnB5xhIpZqQeAeMGHPv9VP/m1JKbt+W9 GCdrPH8elDXZ836M0ZN1SG2AC9n0mi6F/cGHh/1GxC+9OjD8XyMoQ3N9YVUU7y+OciOo +9mg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725498234; x=1726103034; h=mime-version:user-agent:content-transfer-encoding:autocrypt :references:in-reply-to:date:cc:to:from:subject:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=EPP9qmK9Oc9z27v+k7qswyCWeirmpXSLXN7op90o8CM=; b=oIAXoy42qRq24oou/KSV/73eO3ZMRG/YMoLW/HpGq66O+5z3sUX6I3owPGkiCK4ixn txHa9BtpzXYUsPWao7+xBqb420CAX/R5xps8/zIiO1wE3/CfYB2xf8aYrvonJ3fGHd/j DPGrsOGsH86Ckk4jOcgbpnRwDRkbBh+yP4lDBKy3NIoXo/me7m2t8egqPRRf4KMhA14p k6SnE7UpwpQoUMBDTCyrMAU9Ok9rfZ20VR+PgkfLLa6x8g7sZ8s7sy8JmFn4DR+uBUNT F8lNuO4i9R/J2rPb6vKD4JX0Nnja2kSussza5nIDh5JEWPNyv8u9C0gT7H/vM0MDgu4J qNBg==
X-Forwarded-Encrypted: i=1; AJvYcCWb7eaO+xMJ2P5tCmaMGy3xa+CNdjR72dh3WQiaHDe1zml1X67AOAne1QjGCWpP9YPgPMQlMA==@ietf.org
X-Gm-Message-State: AOJu0YwsYB6dh5cS+M5Km/BRWrRfBDp5wZZW+fEMbmnwlqMAiYQlUOKl +WF6eppWXutDTAbGcafxxBW8em9OWL9eqUjCVANNfR4sD4sEHB/QifN5owYuh53M330H5K9igFy R
X-Google-Smtp-Source: AGHT+IGH+XG+s6NoN67u56BR86RECKFf1ZBmABt40f9ILKG9an/4FhYlw8AVsP1QLKQbYjtQWKy8tw==
X-Received: by 2002:a05:690c:6f8d:b0:6d4:d2cd:1849 with SMTP id 00721157ae682-6db25f774femr31330687b3.7.1725498234537; Wed, 04 Sep 2024 18:03:54 -0700 (PDT)
Received: from [192.168.1.197] (68-20-15-154.lightspeed.rlghnc.sbcglobal.net. [68.20.15.154]) by smtp.gmail.com with ESMTPSA id 00721157ae682-6d2d61983c4sm26930857b3.134.2024.09.04.18.03.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Sep 2024 18:03:54 -0700 (PDT)
Message-ID: <485a188aebf3971a77b11683c6f4f9bdaff4992a.camel@poochiereds.net>
From: Jeff Layton <jlayton@poochiereds.net>
To: Rick Macklem <rick.macklem@gmail.com>
Date: Wed, 04 Sep 2024 21:03:53 -0400
In-Reply-To: <CAM5tNy4cppF6vC4_gA5nHEewM2KNeCeOwCe96OhFHBA3z-0EkA@mail.gmail.com>
References: <6e6e3d11d0d48c88cc4cefc28b66d9cfb5874723.camel@poochiereds.net> <e584a74b46853af247212e8dc9bee1949c676cea.camel@hammerspace.com> <28b4c2851c73b518023f2e78be53874c64b1cff3.camel@poochiereds.net> <2074c10c3de50525f30089fd1634c421b3eddca6.camel@hammerspace.com> <880007b35526b41f41ce1263cd96813e7e5faf92.camel@poochiereds.net> <CAM5tNy5GJm+BXNiLJUZ8aS5kT5S0uLwUiBBF1MKQQ-0gGmTwQQ@mail.gmail.com> <CAM5tNy6aZM8RkuvycuNLaNhP6fB4O1TuGx3SvjW2Hd6ZE1Yhuw@mail.gmail.com> <1a3b67d2655f2298907a4c3473160428ad2e556f.camel@poochiereds.net> <CAM5tNy4cppF6vC4_gA5nHEewM2KNeCeOwCe96OhFHBA3z-0EkA@mail.gmail.com>
Autocrypt: addr=jlayton@poochiereds.net; prefer-encrypt=mutual; keydata=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 q/2QWqNFB6xOBr5rQ5xwl
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40)
MIME-Version: 1.0
Message-ID-Hash: TJA5ZYZ5KDTODZEV7VIDYO64QBCQN3IM
X-Message-ID-Hash: TJA5ZYZ5KDTODZEV7VIDYO64QBCQN3IM
X-MailFrom: jlayton@poochiereds.net
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: Trond Myklebust <trondmy@hammerspace.com>, "nfsv4@ietf.org" <nfsv4@ietf.org>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [nfsv4] Re: question around CB_GETATTR handling
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/SSqVMTlB-iNMuIow_Gy_8aAlGuU>
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 Wed, 2024-09-04 at 17:33 -0700, Rick Macklem wrote: > On Wed, Sep 4, 2024 at 4:54 PM Jeff Layton <jlayton@poochiereds.net> wrote: > > > > On Wed, 2024-09-04 at 14:15 -0700, Rick Macklem wrote: > > > On Wed, Sep 4, 2024 at 2:05 PM Rick Macklem <rick.macklem@gmail.com> wrote: > > > > > > > > On Wed, Sep 4, 2024 at 1:09 PM Jeff Layton <jlayton@poochiereds.net> wrote: > > > > > > > > > > On Wed, 2024-09-04 at 19:47 +0000, Trond Myklebust wrote: > > > > > > On Wed, 2024-09-04 at 15:33 -0400, Jeff Layton wrote: > > > > > > > On Wed, 2024-09-04 at 19:21 +0000, Trond Myklebust wrote: > > > > > > > > On Wed, 2024-09-04 at 12:23 -0400, Jeff Layton wrote: > > > > > > > > > RFC 8881, section 10.4.3 has this pseudo code to describe how to > > > > > > > > > handle > > > > > > > > > the size and change attr: > > > > > > > > > > > > > > > > > > ------------------8<------------------- > > > > > > > > > if (!modified) { > > > > > > > > > do CB_GETATTR for change and size; > > > > > > > > > > > > > > > > > > if (cc != sc) > > > > > > > > > modified = TRUE; > > > > > > > > > } else { > > > > > > > > > do CB_GETATTR for size; > > > > > > > > > } > > > > > > > > > > > > > > > > > > if (modified) { > > > > > > > > > sc = sc + 1; > > > > > > > > > time_modify = time_metadata = current_time; > > > > > > > > > update sc, time_modify, time_metadata into file's > > > > > > > > > metadata; > > > > > > > > > } > > > > > > > > > ------------------8<------------------- > > > > > > > > > > > > > > > > > > > > > > > > > > > The line that shows sc = sc + 1 seems to indicate that we need to > > > > > > > > > increment "sc" on every CB_GETATTR, even if nothing changed since > > > > > > > > > the > > > > > > > > > last time. > > > > > > > > > > > > > > > > > > Is that correct or should we only increment it if it wasn't > > > > > > > > > incremented > > > > > > > > > before? The latter would make more sense, given that it doesn't > > > > > > > > > query > > > > > > > > > for change if the file is already considered to be modified. > > > > > > > > > > > > > > > > I believe RFC5661 says > > > > > > > > > > > > > > > > For simplicity of implementation, the client MAY for each > > > > > > > > CB_GETATTR > > > > > > > > return the same value d. This is true even if, between > > > > > > > > successive > > > > > > > > CB_GETATTR operations, the client again modifies the file's data > > > > > > > > or > > > > > > > > metadata in its cache. The client can return the same value > > > > > > > > because > > > > > > > > the only requirement is that the client be able to indicate to > > > > > > > > the > > > > > > > > server that the client holds modified data. Therefore, the > > > > > > > > value of > > > > > > > > d may always be c + 1. > > > > > > > > > > > > > > > > Which is how the Linux client tries to implement it. > > > > > > > > > > > > > > > > > > > > > > Right, 8881 is similar. > > > > > > > > > > > > Yeah, but nobody has coded to that. > > > > > > > > > > > > > > > > > > > > In this case though, I'm asking about the server-side implementation. > > > > > > > That has its own algorithm (illustrated above in the pseudocode), and > > > > > > > it seems to indicate that once the server detects that the client has > > > > > > > made a single modification to the file, that it needs to increment > > > > > > > "sc" > > > > > > > on every subsequent CB_GETATTR. > > > > > > > > > > > > > > That makes no sense on its face, so I suspect this is a mistake in > > > > > > > the > > > > > > > pseudocode above. Or am I wrong and this is actually necessary? > > > > > > > -- > > > > > > > > > > > > Oh... No, as far as the server is concerned, I think it is indeed > > > > > > supposed to increment the change attribute and timestamps on every > > > > > > reply. That is reinforced here: > > > > > > > > > > > > As discussed earlier in this section, the client MAY return the same > > > > > > cc value on subsequent CB_GETATTR calls, even if the file was > > > > > > modified in the client's cache yet again between successive > > > > > > CB_GETATTR calls. Therefore, the server must assume that the file > > > > > > has been modified yet again, and MUST take care to ensure that the > > > > > > new nsc it constructs and returns is greater than the previous nsc it > > > > > > returned. > > > > > > > > > > > > The spec also says that "committing the constructed attribute values to > > > > > > stable storage is OPTIONAL". That seems misleading or possibly just > > > > > > incorrect. The fact that the client declares that it is caching data > > > > > > doesn't necessarily mean that it will actually manage to write that > > > > > > data back. > > > > I think the server does have the option of not saving the change attribute > > > > on stable storage and then, after a server reboot, if the client does a > > > > OPEN/CLAIM_PREVIOUS for the delegation, the server can require > > > > an immediate recall of the delegation. (By setting recall == true in the > > > > open_read_delegation4/open_write_delegation4.) > > > > > > > > At least I think that works? > > > Hmm. I now think it takes more than the above. I think it does need to > > > commit nsc to stable storage, just as it would for changes done via > > > write(s) to the server, as an updated change. > > > (It is the sc value it can forget on a reboot, if > > > it does the immediate recall for CLAIM_REVIOUS for a write delegation.) > > > > > > Does this sound correct to others? rick > > > > > > > The Linux server doesn't always have ultimate control over the change > > attribute, and we can't necessarily commit a specific value to the > > metadata that the client gives us. The change attr is sort of like the > > ctime that way. > If there is something "harmless" that the nfsd can do to the file which > changes change, you might be able to do that every time other clients > do a GETATTR. (Such as setting ctime, maybe?) > > That would presumably also get the change onto stable storage? > Sure. A ctime bump should do it. It's just that that won't reflect what the client is reporting. Maybe that's OK though. The best outcome is that the change attribute after the DELEGRETURN outpaces the cached version that we are reporting after a CB_GETATTR. > > > > > > > > > > > > > > > > Huh, ok. > > > > > > > > > > So imagine that the client gets a write deleg and makes a single small > > > > > change to the file, but then holds on to the write deleg for a long > > > > > time. Other clients are issuing CB_GETATTRs against the server. > > > > > Eventually the delegation is returned. > > > > > > > > > > Could you end up in a change attr reuse situation due to all of this > > > > > faux change attr incrementing by the server? > > > > Since change is 64bits, I think this will take a very very long time? > > > > > > > > The scenario I was thinking of is: > > > > Client gets a write delegation and the change attr is 1. Client does a > > (cached) modification and sends a response of 2 to the server's first > > CB_GETATTR (cc + 1). > > > > Next, we get GETATTR requests from more clients. The server increments > > "sc" for every one, and we end up with a change attribute of 5 in the > > delegation record. The exported file still has a change attr of 1 as > > there has been no writeback from the client yet. > > > > Finally, the client writes the data back and does a DELEGRETURN. The > > local file lands at a value of 3. More data is written from another > > client, and we eventually get to a change attribute of 5. The client > > that saw a value of 5 earlier does another GETATTR and is now confused. > > It doesn't realize that there have been more writes done by another > > client and the size is completely different from what it expects. > Since you have 64bits to work with, maybe the first increment of sc > could be by a large amount, so that the normal updates will "never" get > there. (Or something like putting the file system's change value in the > low order 63 bits with the high order bit always 0 vs always set the > high order bit in sc, > so you have bisected the change number space.) > I'm sure there are others. The increment by 1 in the RFC algorithm > is just an example of making it change each GETATTR. > There are a number of mitigation tactics. In practice, Linux nfsd also folds the ctime into the change attribute that the server reports, which should guarantee uniqueness in most cases. I think I'm convinced that doing incrementing every time is probably safest, at least with RFC 5661/8881 style CB_GETATTR. That brings me to the next question: Do delegated timestamps (a'la the delstid draft) change how we should manage the change attribute? IOW, if the delegated size and mtime in a CB_GETATTR response indicate no changes, should the server still increment the change attr? -- Jeff Layton <jlayton@poochiereds.net>
- [nfsv4] question around CB_GETATTR handling Jeff Layton
- [nfsv4] Re: question around CB_GETATTR handling Trond Myklebust
- [nfsv4] Re: question around CB_GETATTR handling Jeff Layton
- [nfsv4] Re: question around CB_GETATTR handling Trond Myklebust
- [nfsv4] Re: question around CB_GETATTR handling Jeff Layton
- [nfsv4] Re: question around CB_GETATTR handling Rick Macklem
- [nfsv4] Re: question around CB_GETATTR handling Rick Macklem
- [nfsv4] Re: question around CB_GETATTR handling Jeff Layton
- [nfsv4] Re: question around CB_GETATTR handling Rick Macklem
- [nfsv4] Re: question around CB_GETATTR handling Jeff Layton