[nfsv4] Re: New Version Notification for draft-haynes-nfsv4-uncacheable-03.txt

Thomas Haynes <loghyr@gmail.com> Mon, 24 March 2025 22:25 UTC

Return-Path: <loghyr@gmail.com>
X-Original-To: nfsv4@mail2.ietf.org
Delivered-To: nfsv4@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id AB28D11CCC96 for <nfsv4@mail2.ietf.org>; Mon, 24 Mar 2025 15:25:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9jdEcEA-xsM8 for <nfsv4@mail2.ietf.org>; Mon, 24 Mar 2025 15:25:16 -0700 (PDT)
Received: from mail-io1-xd2b.google.com (mail-io1-xd2b.google.com [IPv6:2607:f8b0:4864:20::d2b]) (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 mail2.ietf.org (Postfix) with ESMTPS id CB6C511CCC8F for <nfsv4@ietf.org>; Mon, 24 Mar 2025 15:25:16 -0700 (PDT)
Received: by mail-io1-xd2b.google.com with SMTP id ca18e2360f4ac-85ad83ba141so415876739f.2 for <nfsv4@ietf.org>; Mon, 24 Mar 2025 15:25:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742855116; x=1743459916; 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=PdN9BtCpCU4IXh6ap8b2SUpAMwyjbwt4SYGE4h9M48U=; b=KL2datqPjyczMqvuLK0HGig0TkjT7F/AdYYOmlJrfwGqdVpqdBMFPFOsTO4a5rWCPV KqmYTC4+XpALT+NppjufAeJlEUPGBvrp/eOb26880Xp54YQeHvEZmbj6PrfH8MtlKaD1 LXAgEkMf00B7zyP44/zrwYxO5quQ0L/VbkOoJNhbhifWoqYcVa+67BYCng85Zj7LCt+d oavXX8DRwNfO5M9CT11LYtnBTKK5RB8aT8GKH0vwSVFX3R0ZgAr6+W+zM/SnbReu8q/6 eTbsdQg6/QdL8Yl0AeQN5MLsyPJZgHkx7t+dDInrGXhFQr6fTshbuODE/ojQw76HE/vR 33bg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742855116; x=1743459916; 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=PdN9BtCpCU4IXh6ap8b2SUpAMwyjbwt4SYGE4h9M48U=; b=rhUYAv2kPU+gh4qZRPCp92WoCOIl9MF+1pCJks3yKZyjjpKztPSLzxy8O9UxlKrE4m 0xWPdapRYKbSQaEWFuSCcUBSg4OPmV3lypmccrGa8iWjrxHkr9fPHzL81ameg2V6geAr TOayKgvbOFchF1D8Oq3FZGP4MkWdcttgoUoepVeqrIHCs5FryBE4atAQzWrPG9TjBLE5 wQVLcEMi1f1MCHg49X6rdYWOwC2F95ucJTyF5Y+V6BqP7ghELRYtw2RdJ28hUQhQ/2UY T7rd1TAQywsXMgRZSdtXpa1i1oxCQW6RGeQzFJOEgQ9WR3PtbOer2Z9B4Two3hLGT9fn siBA==
X-Gm-Message-State: AOJu0YzFIcI9L0shTyTQN9hGmxtD4AQ/0CuXxaTqd9Vk3bzlpx2B3JLm 1cDz0DFLc4RPGSSky+ua2nDcvCZl1lSSdsvbOSySPCZFMISyw2Fj8oedzA==
X-Gm-Gg: ASbGncsN8/ImLfDZe+bAA4aedUe1MILGCDNdTWH/oTPXF/gdW6Zst/ICU1q9Z+n7oy1 i+hsQhx5CpT6WKfDZ84bc4CUxcvcK8zk3eP0oARfQ7fFWnt6Ak2dhTHlJg7di93IUKJGzLGgpeJ B5WTHwVIt0FvjnhNvwaf4mK+oVIyQ+0rhOR/kXKJ7JvDQgwEk5rjeP3MapgFWPcz0U8HzsE9bVn tPzJGwZidPwIOHk3uvcVUZ1dW9dNoqzKQkiX/XR/RmQzUFeuMgps8AVFf4C+Zmcr0w4ccgsp/wf Rt1OsbdEJ39Nm/PbCaD9vTN4zQtQwEcMgB8NWPvlEhHshnqjcus9Ih9xavYCsJD8wrUjdr5GYxX J
X-Google-Smtp-Source: AGHT+IFJ+GPArOF67VwxUKK28ki99i1AZ3ned09pABlru54k0CdxkmPLKQrkXifc3Cy1+/WEO7bmOQ==
X-Received: by 2002:a05:6602:3a0e:b0:85b:4362:3403 with SMTP id ca18e2360f4ac-85e2ca8a796mr1811251839f.7.1742855115971; Mon, 24 Mar 2025 15:25:15 -0700 (PDT)
Received: from smtpclient.apple ([2601:647:6700:543d:ca4:2cf6:7335:8126]) by smtp.gmail.com with ESMTPSA id ca18e2360f4ac-85e2bbffa38sm181373239f.2.2025.03.24.15.25.14 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 24 Mar 2025 15:25:15 -0700 (PDT)
From: Thomas Haynes <loghyr@gmail.com>
Message-Id: <14926187-1FBB-43E7-960F-436B3056E32D@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_4FA27389-B793-4D9F-AEB9-D416CC3C66BC"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.400.131.1.6\))
Date: Mon, 24 Mar 2025 15:25:02 -0700
In-Reply-To: <1667116422.19377021.1742848359425.JavaMail.zimbra@z-mbx-2>
To: "Mkrtchyan, Tigran" <tigran.mkrtchyan@desy.de>
References: <7F4678EF-E6B9-4285-86CB-78636BA66612@gmail.com> <1667116422.19377021.1742848359425.JavaMail.zimbra@z-mbx-2>
X-Mailer: Apple Mail (2.3826.400.131.1.6)
Message-ID-Hash: HZ36FEDAZKBJCKPR3SBMVJWRZCPZVV7P
X-Message-ID-Hash: HZ36FEDAZKBJCKPR3SBMVJWRZCPZVV7P
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.9rc6
Precedence: list
Subject: [nfsv4] Re: New Version Notification for draft-haynes-nfsv4-uncacheable-03.txt
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/zouxNCiUke0mFjy2hHNr27frT3Q>
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 Mar 24, 2025, at 1:32 PM, Mkrtchyan, Tigran <tigran.mkrtchyan@desy.de> wrote:
> 
> Hi Tom,
> 
> I have mixed feeling about this proposal. From one side, it make sense. For example, we have virtual directories and their content is dynamically changes. Thus, any getattr will tell that directory is modified. This is of course bad, as those virtual directories are not modified that often. On the other hand, server NFS should not take over client cache control. Maybe such a behavior is covered by directory delegations? At least, the document should discuss why it not appropriate (too many recall, etc…) So, I think, the attribute should be a hint, telling client that directory/file changes more often than might be expected. It‘s up to client to respect the hint or not.
> 

Hi Tigran,

Then you have a local policy to not allow the uncacheable attribute to be set in this virtual directories?

How it is a hint? The intent has nothing to do with the change rate of the attributes and everything to do with whether or not a user has access to a directory listing.

Further, the server has no knowledge that the client has a dirent cache.






> For files, the story is even more interesting. The HPC applications typically have their own way to communicate that data is modified, for example with MPI-IO. However, the applications have no way to enforce read operations to by-pass filesystem cache. Nonetheless, if file is not modified, the cache reads are perfectly valid.


But NFSv4.2 has no access to proprietary protocols. And the intent is that the NFS client will force the applications to have reads bypass the cache.

> 
> So, I think, the draft have identified the problem, but I am not convicted (yet) that it proposes the right solution.


Thanks for the feedback, the issue is that the problem statement appears simple, but the writing is not.

FWIW - we have prototyped this in the Linux kernel - not sure about the results - just that we have it.


> 
> Best regards,
> — Tigran
> 
>> On 22. Mar 2025, at 01:06, Thomas Haynes <loghyr@gmail.com> wrote:
>> 
>> Hi,
>> 
>> I’d like to push for the NFSv4 WG to adopt this draft as a WG item.
>> 
>> Thanks,
>> Tom
>> 
>>> Begin forwarded message:
>>> 
>>> From: internet-drafts@ietf.org
>>> Subject: New Version Notification for draft-haynes-nfsv4-uncacheable-03.txt
>>> Date: March 22, 2025 at 9:04:24 AM GMT+9
>>> To: "Thomas Haynes" <loghyr@gmail.com>
>>> 
>>> A new version of Internet-Draft draft-haynes-nfsv4-uncacheable-03.txt has been
>>> successfully submitted by Thomas Haynes and posted to the
>>> IETF repository.
>>> 
>>> Name:     draft-haynes-nfsv4-uncacheable
>>> Revision: 03
>>> Title:    Adding an Uncacheable Attribute to NFSv4.2
>>> Date:     2025-03-21
>>> Group:    Individual Submission
>>> Pages:    9
>>> URL:      https://www.ietf.org/archive/id/draft-haynes-nfsv4-uncacheable-03.txt
>>> Status:   https://datatracker.ietf.org/doc/draft-haynes-nfsv4-uncacheable/
>>> HTML:     https://www.ietf.org/archive/id/draft-haynes-nfsv4-uncacheable-03.html
>>> HTMLized: https://datatracker.ietf.org/doc/html/draft-haynes-nfsv4-uncacheable
>>> Diff:     https://author-tools.ietf.org/iddiff?url2=draft-haynes-nfsv4-uncacheable-03
>>> 
>>> Abstract:
>>> 
>>>   The Network File System version 4.2 (NFSv4.2) allows a client to
>>>   cache both metadata and data for file objects, as well as metadata
>>>   for directory objects.  While caching directory entries (dirents) can
>>>   improve performance, it can also prevent the server from enforcing
>>>   access control on individual dirents.  Similarly, caching file data
>>>   can lead to performance issues if the cache hit rate is low.  This
>>>   document introduces a new uncacheable attribute for NFSv4.  Files and
>>>   dirents marked as uncacheable MUST NOT be stored in client-side
>>>   caches.  This ensures data consistency and integrity by requiring
>>>   clients to always retrieve the most recent data directly from the
>>>   server.  This document extends NFSv4.2 (see RFC7862).
>>> 
>>> 
>>> 
>>> The IETF Secretariat
>>> 
>>> 
>>