<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 2.6.10) -->
<?rfc docmapping="yes"?>
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-nfsv4-uncacheable-directories-04" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Uncacheable Dirents">Adding an Uncacheable Directory-Entry Metadata Attribute to NFSv4.2</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-nfsv4-uncacheable-directories-04"/>
    <author initials="T." surname="Haynes" fullname="Thomas Haynes">
      <organization>Hammerspace</organization>
      <address>
        <email>loghyr@gmail.com</email>
      </address>
    </author>
    <date/>
    <area>General</area>
    <workgroup>Network File System Version 4</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 63?>

<t>Network File System version 4.2 (NFSv4.2) clients commonly cache
directory entries (dirents) to improve performance. While effective
in many cases, such caching can prevent servers from enforcing
per-user access controls on directory entries and up-to-date directory
entry attributes such as size and timestamps.  This document
introduces a new uncacheable dirent metadata attribute for NFSv4.2 that
allows servers to advise clients that caching of directory entry
metadata is unsuitable.  This enables servers to present directory
contents based on user-specific access permissions while remaining
compatible with existing NFSv4.2 clients.</t>
    </abstract>
    <note>
      <name>Note to Readers</name>
      <?line 76?>

<t>Discussion of this draft takes place
on the NFSv4 working group mailing list (nfsv4@ietf.org),
which is archived at
<eref target="https://mailarchive.ietf.org/arch/search/?email_list=nfsv4"/>. Source
code and issues list for this draft can be found at
<eref target="https://github.com/ietf-wg-nfsv4/uncacheable-directories"/>.</t>
      <t>Working Group information can be found at <eref target="https://github.com/ietf-wg-nfsv4"/>.</t>
    </note>
  </front>
  <middle>
    <?line 87?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Clients of remote filesystems commonly cache directory entries
(dirents) to improve performance. This caching is typically shared
across users on the client and assumes that directory contents and
access permissions are uniform across users.</t>
      <t>In this document, the term directory is used to describe the context
in which directory entries are retrieved.  The uncacheable dirent
metadata attribute applies to the caching of directory entry (dirent)
metadata, including names and associated file object metadata such
as size and timestamps. It does not prohibit caching of the directory
object itself, nor does it affect caching of file data.</t>
      <t>Access Based Enumeration (ABE) <xref target="MS-ABE"/>, as implemented in the Server
Message Block (SMB) <xref target="MS-SMB2"/> and deployed in implementations such
as Samba <xref target="Samba"/>, restricts directory visibility based on the
access permissions of the requesting user.  Implementing similar
behavior in NFSv4.2 requires server involvement, as clients may not
have sufficient information to evaluate permissions based on identity
mappings, ACLs, or server-local policy.</t>
      <t>While effective in environments with centralized identity and
server-driven enumeration, the SMB ABE model tightly couples directory
enumeration with authorization and requires per-user directory views
that are not safely cacheable across users.  This approach does not
generalize well to NFS, where directory contents and metadata are
traditionally shared and cached.  The uncacheable dirent metadata
attribute allows servers to ensure correctness of directory-entry
metadata visibility and attributes without mandating a specific
enumeration or authorization model.</t>
      <t>Even in the absence of ABE, caching of directory entry metadata can
result in incorrect size and timestamp information when files are
modified concurrently, reducing the effectiveness of uncacheable
file data semantics when directory entry metadata is stale.  This
can lead to applications observing inconsistent metadata and data
views even when file data caching is disabled.</t>
      <t>With a remote filesystem, the client typically caches directory
entries (dirents) locally to improve performance. This cooperation
succeeds because both the server and client operate under POSIX
semantics (<xref target="POSIX.1"/>) and agree to interpretation of mode bits with
respect to the uid and gid in NFSv3 <xref target="RFC1813"/>. For NFSv4.2, these
would respectively be the mode, owner, and owner_group attributes
defined in <xref section="5" sectionFormat="of" target="RFC8881"/>.  Note that this cooperation
does not apply to Access Control List (ACLs) entries as NFSv4.2
does not implement a strict POSIX style ACL.</t>
      <t>NFSv4.2 does implement NFSv4.1 ACLs, which are enforced on the
server and not the client. As such, ACL enforcement requires the
client to bypass the dirent cache to have checks done when a new
user attempts to access the dirent.</t>
      <t>Another consideration is that not all server implementations natively
support SMB. Instead, they layer Samba on top of the NFSv4.2 service.
The attributes of hidden, system, and offline have already been
introduced in the NFSv4.2 protocol to support Samba.  The Samba
implementation can utilize these attributes to provide SMB semantics.
While private protocols can supply these features, it is better to
drive them into open standards.</t>
      <t>Another concept that can be adapted from SMB is that of ABE, which
is commonly used to control the visibility of directory entries.
Under the POSIX model, this can be done on the client and not the
server. However, that only works with uid, gid, and mode bits.  If
we consider identity mappings, ACLs, and server local policies,
then the determination of ABE and directory entry visibility is
best performed on the server.</t>
      <t>Since cached dirents are shared by all users on a client, and the
client cannot determine access permissions for individual dirents,
all users are presented with the same set of attributes.  To address
this, this document introduces the uncacheable dirent metadata
attribute.  This attribute advises the client not to cache directory
entry metadata for a file or directory object. Consequently, each
time a client queries for these attributes, the server's response
can be tailored to the specific user making the request.</t>
      <t>This document introduces the uncacheable dirent metadata attribute
to NFSv4.2 to allow servers to advise clients that caching of
directory-entry metadata is unsuitable.  Using the process detailed
in <xref target="RFC8178"/>, the revisions in this document become an extension
of NFSv4.2 <xref target="RFC7862"/>. They are built on top of the external data
representation (XDR) <xref target="RFC4506"/> generated from <xref target="RFC7863"/>.</t>
      <section anchor="definitions">
        <name>Definitions</name>
        <dl>
          <dt>Access Based Enumeration (ABE)</dt>
          <dd>
            <t>When servicing a READDIR or GETATTR operation, the server provides
results based on the access permissions of the user making the request.</t>
          </dd>
          <dt>dirent</dt>
          <dd>
            <t>A directory entry representing a file or subdirectory and its
associated attributes.</t>
          </dd>
          <dt>dirent caching</dt>
          <dd>
            <t>A client-side cache of directory entry names and associated file
object metadata, used to avoid repeated directory lookup and attribute
retrieval.</t>
          </dd>
          <dt>uncacheable dirent metadata attribute</dt>
          <dd>
            <t>An NFSv4.2 file attribute that advises clients not to cache
directory-entry metadata associated with file objects, including
names, size, timestamps, and visibility.</t>
          </dd>
        </dl>
        <t>This document assumes familiarity with NFSv4.2 operations, attributes,
and error handling as defined in <xref target="RFC8881"/> and <xref target="RFC7862"/>.</t>
      </section>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="caching-of-directory-entry-metadata">
      <name>Caching of Directory-Entry Metadata</name>
      <t>The fattr4_uncacheable_file_data attribute is a read-write file
attribute and has a data type of boolean.  The attribute is not set
on individual file objects and applies only to directory-entry
metadata returned from the directory on which it is set.</t>
      <t>The uncacheable dirent metadata attribute enables correct presentation
of directory entry visibility and attributes, including but not
limited to Access Based Enumeration (ABE).  As such, it is an
<bcp14>OPTIONAL</bcp14> attribute to implement for NFSv4.2.  If both the client
and the server support this attribute, the client <bcp14>MUST</bcp14> to bypass
caching of directory-entry metadata for directories marked as
uncacheable.</t>
      <t>This document specifies the required observable behavior rather
than mandating a particular internal implementation strategy.
Clients <bcp14>MAY</bcp14> employ more sophisticated mechanisms, such as per-user
directory entry caching, provided that the externally visible
behavior is equivalent to not caching directory-entry metadata
across users.</t>
      <t>Allowing clients to set this attribute provides a portable mechanism
to request that directory-entry metadata not be cached, without
requiring changes to application behavior or out-of-band administrative
configuration.</t>
      <t>A client can determine whether the uncacheable dirent metadata attribute
is supported for a given directory by issuing a GETATTR request and
examining the returned attribute list.</t>
      <t>The only way that the server can determine that the client supports
the attribute is if the client sends either a GETATTR or a SETATTR
with the uncacheable dirent metadata attribute.</t>
      <t>The uncacheable dirent metadata attribute governs caching behavior of
directory-entry metadata returned by READDIR and related operations,
not the directory object itself.</t>
      <t>Suppressing caching of file data alone is insufficient to guarantee
correct behavior if directory-entry metadata such as size and
timestamps remains cached.  The uncacheable dirent metadata attribute
addresses a different aspect of client-side caching than
fattr4_uncacheable_file_data (<xref target="I-D.ietf-nfsv4-uncacheable-files"/>).
The file data attribute governs caching of file contents, while the
dirent metadata attribute governs caching of directory-entry metadata.
In some workloads, disabling only one form of caching may be
insufficient to ensure correct behavior, but the attributes are
independent and may be used separately.</t>
      <t>This attribute does not define behavior for positive or negative name
caching or for caching of LOOKUP results outside the scope of
directory-entry metadata returned by READDIR and related operations.</t>
      <t>Directory delegations do not address per-user directory-entry metadata
visibility and therefore cannot replace the semantics defined by
the uncacheable dirent metadata attribute.</t>
      <section anchor="sec_dirents">
        <name>Uncacheable Directory-Entry Metadata</name>
        <t>The fattr4_uncacheable_file_data attribute is a read-write boolean
attribute that applies on a per-file basis to regular files (NF4REG).
Authorization to query or modify this attribute is governed by
existing NFSv4.2 authorization mechanisms.</t>
        <t>If a directory object has the uncacheable dirent metadata attribute
set, the client is advised not to cache directory entry metadata.
In such cases, the client retrieves directory entry attributes from
the server for each request, allowing the server to evaluate access
permissions based on the requesting user.  Clients are advised not
to share cached dirent attributes between different users.</t>
        <t>The uncacheable dirent metadata attribute does not modify the
semantics of the NFSv4.2 change attribute.  Clients <bcp14>MUST</bcp14> continue to
use the change attribute to detect directory modifications and to
determine when directory contents may have changed, even when
directory-entry metadata caching is suppressed.  Suppressing caching
of directory-entry metadata does not remove the need for change-based
validation.</t>
        <t>Servers <bcp14>SHOULD</bcp14> assume that clients which do not query or set this
attribute may cache directory-entry metadata, and therefore <bcp14>SHOULD
NOT</bcp14> rely on this attribute for correctness unless client support
is confirmed.</t>
        <t>Authorization to set or modify this attribute is governed by existing
NFSv4.2 authorization mechanisms.</t>
        <t>If a client holds a directory delegation for a directory that becomes
marked with the uncacheable dirent metadata attribute, the server is
expected to ensure that the client observes the updated attribute
value.  A server <bcp14>MAY</bcp14> recall an existing directory delegation in order
to enforce the semantics of this attribute.  Clients that observe the
attribute set while holding a directory delegation <bcp14>MUST</bcp14> ensure that
directory-entry metadata is not cached inconsistently with the
attribute semantics.</t>
        <t>Because this attribute provides advisory guidance rather than mandatory
access control, servers cannot rely on client compliance for security
enforcement in adversarial environments.</t>
      </section>
    </section>
    <section anchor="example-directory-enumeration-with-and-without-dirent-metadata-caching">
      <name>Example: Directory Enumeration With and Without Dirent Metadata Caching</name>
      <t>This example illustrates the difference in client-visible behavior when
directory-entry metadata caching is enabled versus when the uncacheable
dirent metadata attribute is set on a directory.</t>
      <section anchor="classic-directory-enumeration-directory-entry-metadata-cached">
        <name>Classic Directory Enumeration (Directory-Entry Metadata Cached)</name>
        <t>In this scenario, the client caches directory-entry metadata obtained
from the server and reuses it for subsequent users.</t>
        <figure anchor="fig-cached-dirents">
          <name>Directory-Entry Metadata Cached</name>
          <artwork><![CDATA[
User A Process          NFSv4.2 Client        NFSv4.2 Server
-------------           --------------        --------------
readdir("/dir")
   |
   |                     READDIR
   |-------------------->------------------------>
   |                     entries: {a,b,c}
   |<--------------------<------------------------
   |
(entries cached in client)

User B Process
-------------           
readdir("/dir")
   |
   |                     (no network traffic)
   |                     entries returned from
   |                     client cache: {a,b,c}
]]></artwork>
        </figure>
        <t>In this case, <xref target="fig-cached-dirents"/> shows directory-entry metadata
retrieved on behalf of User A is reused to satisfy a directory read
for User B. This behavior is typical of legacy NFS clients and
maximizes performance, but it can result in incorrect or unauthorized
directory views in multi-user or multi-protocol environments.</t>
      </section>
      <section anchor="directory-enumeration-with-uncacheable-dirent-metadata">
        <name>Directory Enumeration With Uncacheable Dirent Metadata</name>
        <t>In this scenario, the directory has the uncacheable dirent metadata
attribute set. The client does not retain directory-entry metadata
across directory reads for different users.</t>
        <figure anchor="fig-uncached-dirents">
          <name>Directory-Entry Metadata Not Cached</name>
          <artwork><![CDATA[
User A Process          NFSv4.2 Client        NFSv4.2 Server
-------------           --------------        --------------
readdir("/dir")
   |
   |                     READDIR
   |-------------------->------------------------>
   |                     entries visible to A:
   |                     {a,b}
   |<--------------------<------------------------
   |
(no directory-entry metadata retained)

User B Process
-------------           
readdir("/dir")
   |
   |                     READDIR
   |-------------------->------------------------>
   |                     entries visible to B:
   |                     {b,c}
   |<--------------------<------------------------
]]></artwork>
        </figure>
        <t>In this case, <xref target="fig-uncached-dirents"/> shows each directory read
results in a READDIR operation sent to the server, ensuring that
directory-entry metadata reflects the current visibility and
attributes appropriate to the requesting user. The client may still
cache other information, provided the externally observable behavior
is equivalent to not caching directory-entry metadata.</t>
      </section>
      <section anchor="discussion">
        <name>Discussion</name>
        <t>This example demonstrates that the uncacheable dirent metadata attribute
does not mandate a particular client implementation, but it does require
that directory-entry metadata retrieved for one user <bcp14>MUST NOT</bcp14> be reused
to satisfy directory reads for another user. The attribute ensures
correctness and interoperability in environments where directory contents
or visibility may differ across users, clients, or protocols.</t>
      </section>
    </section>
    <section anchor="xdr-for-uncacheable-dirents-attribute">
      <name>XDR for Uncacheable Dirents Attribute</name>
      <sourcecode type="xdr"><![CDATA[
///
/// typedef bool            fattr4_uncacheable_dirent_metadata;
///
/// const FATTR4_UNCACHEABLE_DIRENT_METADATA   = 88;
///
]]></sourcecode>
    </section>
    <section anchor="extraction-of-xdr">
      <name>Extraction of XDR</name>
      <t>This document contains the external data representation (XDR)
<xref target="RFC4506"/> description of the uncacheable dirent metadata attribute.  The XDR
description is presented in a manner that facilitates easy extraction
into a ready-to-compile format. To extract the machine-readable XDR
description, use the following shell script:</t>
      <sourcecode type="shell"><![CDATA[
#!/bin/sh
grep '^ *///' $* | sed 's?^ */// ??' | sed 's?^ *///$??'
]]></sourcecode>
      <t>For example, if the script is named 'extract.sh' and this document is
named 'spec.txt', execute the following command:</t>
      <sourcecode type="shell"><![CDATA[
sh extract.sh < spec.txt > uncacheable_prot.x
]]></sourcecode>
      <t>This script removes leading blank spaces and the sentinel sequence '///'
from each line. XDR descriptions with the sentinel sequence are embedded
throughout the document.</t>
      <t>Note that the XDR code contained in this document depends on types from
the NFSv4.2 nfs4_prot.x file (generated from <xref target="RFC7863"/>).  This includes
both nfs types that end with a 4, such as offset4, length4, etc., as
well as more generic types such as uint32_t and uint64_t.</t>
      <t>While the XDR can be appended to that from <xref target="RFC7863"/>, the code snippets
should be placed in their appropriate sections within the existing XDR.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This attribute is not intended to provide a security boundary or to
replace server-enforced access control.  Its primary purpose is to
improve correctness and interoperability in environments where
directory-entry metadata visibility varies across users or protocols.
Servers <bcp14>MUST NOT</bcp14> rely on this mechanism alone to prevent unauthorized
access to directory entries.</t>
      <t>Authorization to set or modify the fattr4_uncacheable_file_data
attribute is governed by existing NFSv4.2 authorization mechanisms.
Servers <bcp14>MAY</bcp14> restrict modification of this attribute based on local
policy, file ownership, or access control rules.  This document does
not define a new authorization model.</t>
      <t>The discussion of users in this section is independent of the
specific user identity representation employed by the client or
server.  This document does not distinguish between users identified
via NFSv4.2 user@domain strings, RPC authentication identities, or
local operating system user identifiers.  The uncacheable dirent
metadata attribute does not alter NFSv4.2 authentication or
authorization semantics and does not depend on any particular user
identity model.</t>
      <t>For a given user A, a client <bcp14>MUST NOT</bcp14> make access decisions for
uncacheable dirents retrieved for another user B. These decisions
<bcp14>MUST</bcp14> be made by the server.  If the client is Labeled NFS aware
(<xref target="RFC7204"/>), then the client <bcp14>MUST</bcp14> locally enforce the MAC security
policies.</t>
      <t>The concerns described above primarily apply to multi-user clients
that cache directory-entry metadata on behalf of multiple users.
Single-user clients may not be subject to these risks, but the
attribute semantics remain the same regardless of client usage
model.</t>
      <t>The uncacheable dirent metadata attribute allows dirents to be annotated
such that attributes are presented to the user based on the server's
access control decisions.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC4506">
          <front>
            <title>XDR: External Data Representation Standard</title>
            <author fullname="M. Eisler" initials="M." role="editor" surname="Eisler"/>
            <date month="May" year="2006"/>
            <abstract>
              <t>This document describes the External Data Representation Standard (XDR) protocol as it is currently deployed and accepted. This document obsoletes RFC 1832. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="67"/>
          <seriesInfo name="RFC" value="4506"/>
          <seriesInfo name="DOI" value="10.17487/RFC4506"/>
        </reference>
        <reference anchor="RFC7204">
          <front>
            <title>Requirements for Labeled NFS</title>
            <author fullname="T. Haynes" initials="T." surname="Haynes"/>
            <date month="April" year="2014"/>
            <abstract>
              <t>This memo outlines high-level requirements for the integration of flexible Mandatory Access Control (MAC) functionality into the Network File System (NFS) version 4.2 (NFSv4.2). It describes the level of protections that should be provided over protocol components and the basic structure of the proposed system. The intent here is not to present the protocol changes but to describe the environment in which they reside.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7204"/>
          <seriesInfo name="DOI" value="10.17487/RFC7204"/>
        </reference>
        <reference anchor="RFC7862">
          <front>
            <title>Network File System (NFS) Version 4 Minor Version 2 Protocol</title>
            <author fullname="T. Haynes" initials="T." surname="Haynes"/>
            <date month="November" year="2016"/>
            <abstract>
              <t>This document describes NFS version 4 minor version 2; it describes the protocol extensions made from NFS version 4 minor version 1. Major extensions introduced in NFS version 4 minor version 2 include the following: Server-Side Copy, Application Input/Output (I/O) Advise, Space Reservations, Sparse Files, Application Data Blocks, and Labeled NFS.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7862"/>
          <seriesInfo name="DOI" value="10.17487/RFC7862"/>
        </reference>
        <reference anchor="RFC7863">
          <front>
            <title>Network File System (NFS) Version 4 Minor Version 2 External Data Representation Standard (XDR) Description</title>
            <author fullname="T. Haynes" initials="T." surname="Haynes"/>
            <date month="November" year="2016"/>
            <abstract>
              <t>This document provides the External Data Representation (XDR) description for NFS version 4 minor version 2.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7863"/>
          <seriesInfo name="DOI" value="10.17487/RFC7863"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8178">
          <front>
            <title>Rules for NFSv4 Extensions and Minor Versions</title>
            <author fullname="D. Noveck" initials="D." surname="Noveck"/>
            <date month="July" year="2017"/>
            <abstract>
              <t>This document describes the rules relating to the extension of the NFSv4 family of protocols. It covers the creation of minor versions, the addition of optional features to existing minor versions, and the correction of flaws in features already published as Proposed Standards. The rules relating to the construction of minor versions and the interaction of minor version implementations that appear in this document supersede the minor versioning rules in RFC 5661 and other RFCs defining minor versions.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8178"/>
          <seriesInfo name="DOI" value="10.17487/RFC8178"/>
        </reference>
        <reference anchor="RFC8881">
          <front>
            <title>Network File System (NFS) Version 4 Minor Version 1 Protocol</title>
            <author fullname="D. Noveck" initials="D." role="editor" surname="Noveck"/>
            <author fullname="C. Lever" initials="C." surname="Lever"/>
            <date month="August" year="2020"/>
            <abstract>
              <t>This document describes the Network File System (NFS) version 4 minor version 1, including features retained from the base protocol (NFS version 4 minor version 0, which is specified in RFC 7530) and protocol extensions made subsequently. The later minor version has no dependencies on NFS version 4 minor version 0, and is considered a separate protocol.</t>
              <t>This document obsoletes RFC 5661. It substantially revises the treatment of features relating to multi-server namespace, superseding the description of those features appearing in RFC 5661.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8881"/>
          <seriesInfo name="DOI" value="10.17487/RFC8881"/>
        </reference>
        <reference anchor="I-D.ietf-nfsv4-uncacheable-files">
          <front>
            <title>Adding an Uncacheable File Data Attribute to NFSv4.2</title>
            <author fullname="Thomas Haynes" initials="T." surname="Haynes">
              <organization>Hammerspace</organization>
            </author>
            <date day="13" month="January" year="2026"/>
            <abstract>
              <t>   Network File System version 4.2 (NFSv4.2) clients commonly perform
   client-side caching of file data in order to improve performance.  On
   some systems, applications may influence client data caching
   behavior, but there is no standardized mechanism for a server or
   administrator to indicate that particular file data should not be
   cached by clients for reasons of performance or correctness.  This
   document introduces a new file data caching attribute for NFSv4.2.
   Files marked with this attribute are intended to be accessed with
   client-side caching of file data suppressed, in order to support
   workloads that require predictable data visibility.  This document
   extends NFSv4.2 (see RFC7862).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-nfsv4-uncacheable-files-03"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC4949">
          <front>
            <title>Internet Security Glossary, Version 2</title>
            <author fullname="R. Shirey" initials="R." surname="Shirey"/>
            <date month="August" year="2007"/>
            <abstract>
              <t>This Glossary provides definitions, abbreviations, and explanations of terminology for information system security. The 334 pages of entries offer recommendations to improve the comprehensibility of written material that is generated in the Internet Standards Process (RFC 2026). The recommendations follow the principles that such writing should (a) use the same term or definition whenever the same concept is mentioned; (b) use terms in their plainest, dictionary sense; (c) use terms that are already well-established in open publications; and (d) avoid terms that either favor a particular vendor or favor a particular technology or mechanism over other, competing techniques that already exist or could be developed. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="FYI" value="36"/>
          <seriesInfo name="RFC" value="4949"/>
          <seriesInfo name="DOI" value="10.17487/RFC4949"/>
        </reference>
        <reference anchor="RFC9754">
          <front>
            <title>Extensions for Opening and Delegating Files in NFSv4.2</title>
            <author fullname="T. Haynes" initials="T." surname="Haynes"/>
            <author fullname="T. Myklebust" initials="T." surname="Myklebust"/>
            <date month="March" year="2025"/>
            <abstract>
              <t>The Network File System v4 (NFSv4) allows a client to both open a file and be granted a delegation of that file. This delegation provides the client the right to authoritatively cache metadata on the file locally. This document presents several extensions for both opening the file and delegating it to the client. This document extends NFSv4.2 (see RFC 7863).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9754"/>
          <seriesInfo name="DOI" value="10.17487/RFC9754"/>
        </reference>
        <reference anchor="MS-ABE" target="https://techcommunity.microsoft.com/blog/askds/access-based-enumeration-abe-concepts-part-1-of-2/400435">
          <front>
            <title>Access-Based Enumeration (ABE) Concepts</title>
            <author>
              <organization>Microsoft</organization>
            </author>
            <date year="2009" month="May"/>
          </front>
        </reference>
        <reference anchor="MS-SMB2" target="https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-smb2/">
          <front>
            <title>Server Message Block (SMB) Protocol Versions 2 and 3</title>
            <author>
              <organization>Microsoft Corporation</organization>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Microsoft" value="MS-SMB2"/>
        </reference>
        <reference anchor="POSIX.1">
          <front>
            <title>The Open Group Base Specifications Issue 7</title>
            <author>
              <organization>IEEE</organization>
            </author>
            <date year="2013"/>
          </front>
          <seriesInfo name="IEEE Std 1003.1, 2013 Edition" value=""/>
        </reference>
        <reference anchor="RFC1813">
          <front>
            <title>NFS Version 3 Protocol Specification</title>
            <author fullname="B. Callaghan" initials="B." surname="Callaghan"/>
            <author fullname="B. Pawlowski" initials="B." surname="Pawlowski"/>
            <author fullname="P. Staubach" initials="P." surname="Staubach"/>
            <date month="June" year="1995"/>
            <abstract>
              <t>This paper describes the NFS version 3 protocol. This paper is provided so that people can write compatible implementations. This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1813"/>
          <seriesInfo name="DOI" value="10.17487/RFC1813"/>
        </reference>
        <reference anchor="Samba" target="https://www.samba.org/">
          <front>
            <title>Samba Project</title>
            <author>
              <organization>Samba Team</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <?line 497?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Trond Myklebust, Mike Snitzer, Jon Flynn, Keith Mannthey, and Thomas
Haynes all worked on the prototype at Hammerspace.</t>
      <t>Rick Macklem, Chuck Lever, and Dave Noveck reviewed the document.</t>
      <t>Chris Inacio, Brian Pawlowski, and Gorry Fairhurst helped guide
this process.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
EkIzQM8Q5VFNTdPxMH9YaCD+GwzXeXAnTwAA

-->

</rfc>
