<?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-05" 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-05"/>
    <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 may cache
directory-entry (dirent) metadata returned by READDIR to improve performance.
Such caching typically assumes that directory-entry metadata and
visibility are identical for all users of a client.  In some
deployments, however, servers may present directory entries or
associated metadata based on the identity of the requesting user.
Reuse of cached directory-entry metadata across users can therefore
result in clients presenting directory contents or attributes that
do not reflect the server's current access control decisions.  This
document introduces an uncacheable dirent metadata attribute
for NFSv4.2 that allows servers to advise clients that directory-entry
metadata returned by READDIR and related operations should not be
reused across users.</t>
    </abstract>
    <note>
      <name>Note to Readers</name>
      <?line 79?>

<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 90?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Clients of remote filesystems may cache directory-entries
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
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>This document does not define server-side directory filtering or
Access Based Enumeration (ABE) <xref target="MS-ABE"/> semantics. It only provides
a mechanism by which a server may advise clients that directory-entry
metadata returned by READDIR should not be reused across users.</t>
      <t>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>This cooperation works because both the client and server typically
interpret file permissions using POSIX-like (<xref target="POSIX.1"/>) semantics
based on mode bits, 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 directory entry cache to have checks done when a new
user attempts to access the directory entry.</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
can be 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 metadata visibility is
best performed on the server.</t>
      <t>Since cached directory entries 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_dirent_metadata attribute is a read-write boolean
attribute that applies to directory objects  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 NOT</bcp14> reuse
directory-entry metadata returned by READDIR or related operations
for different users when the attribute is set on the directory.</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>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 returned by READDIR and
related operations. 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 <bcp14>MUST NOT</bcp14> reuse
directory-entry metadata retrieved on behalf of one user to satisfy
requests made on behalf of another user.</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 NFSv4.2 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 for each enumeration
request, 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="implementation-status">
      <name>Implementation Status</name>
      <t>Note to RFC Editor: please remove this section prior to publication.</t>
      <t>There is a prototype Hammerspace server which implements the
uncacheable dirent metadata attribute and a prototype Linux client
which treats the attribute as an indication not to reuse directory-
entry metadata returned by READDIR across users.</t>
      <t>In the prototype, directories configured for ABE-like behavior are
marked with the fattr4_uncacheable_dirent_metadata attribute.</t>
      <t>The client implementation suppresses reuse of directory-entry
metadata across users and retrieves directory-entry metadata from
the server as needed when servicing directory enumeration requests.
Clients may employ more sophisticated mechanisms, such as per-user
directory-entry caching, provided that the externally observable
behavior matches the semantics described in this document.</t>
      <t>Experience with the prototype indicates that the attribute enables
servers to present user-specific directory-entry visibility and
attributes while remaining compatible with existing NFSv4.2 semantics.</t>
    </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_dirent_metadata
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>A client <bcp14>MUST NOT</bcp14> make access or visibility decisions for one
user based on directory-entry metadata retrieved on behalf of
another user.  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 526?>

<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:
H4sIAAzCumkAA+1c63LbRpb+30/RY0+VpRRJWbaSONzcaElOtCPJXkneZCqV
VYFAk+wRCHDRgGRGqzzLPss+2Z5L3wCSMp1M7a91JTYJAn051+9cGv1+X9S6
ztVQjrJMF1OZFPJ9kSbpTCXjXMkjXam0Lqtl/7ioq6U8U3WSJXUiR3Vd6XFT
K1mX8vzN5e3B4IVIxuNK3Q5XRihqI7IyLZI5TJRVyaTua1VP+sXE3B70m3B3
P7PzaWX6zz8XaVKrKcw+lKbOBEwMz98fja6OH0RaFkYVpjFDWVeNEnpR0SdT
v3j+/KvnsJhKJUP5gypUleTirqxuplXZLIbyXNX4Tb7RsLzLpanVXP67qowu
C3kgbtQSfs2G8qSoVVWoun+ECxbC1EmRXSd5WcAilsqIhR7KX+oy7UlTVnWl
JgY+Lef8AbY7TxYLIGlPpuV8jjT4VYikqWdlNRSyLyT80QUs/2ogf0yWBYyI
l5hIV7Nynpj4ellNk0L/ltSwzCH8AENWZpGkin5V80TnQ5mX09my+n6K3wYw
rRBFWc3hmVsFc8qLN4cv9ve/sh8PPn/+hf345YvnB+7jqy9ehI8v7cdX+18e
hI+v3MdXr/bx40n/aLCBoRMgshkKoYtJZyUHXx24lXz15ec0+tllf/T6eEg7
cmKZpsqY/uvEqEweFw3smkggd+DOXXlYFqla1EwiT1xpCTaUZzqtSlMC/2jM
pJqqeihndb0ww729WqUzZE5T6Ho5mLt7kXJ7Y6DlXmJuMrOX8BrGuIa+Cmvo
J2PVT+0K+oukqvv7/XLSf7F38Pz5wcvPaU4W2rNkKVEueZOXZ69ftHZ5qapb
VYF2GZNMlXydl+mN3IHbduW7qgQZK3Mnoka+ACXN5MuPbhmIUy1KXirdYBTq
FXLCPeDvHbplraVTrpKq6NBHFf3G7JUL0MGFSs3enS6y8s5cL+x6zd7c9M18
/GIPhnz39vLk58F+a89XMyXfwuPyB1RLiRyWlzCUnuiU1mzkiTGNkl92Fy9P
jo+P5WWdyf3nz18O9ntA2v2X8jjTfqtr6IIPRRyhZ1j89l/tk5xfJvNx0uYL
XkEW/AOs0qaB+aYrlczXEu/u7m5g8JYB3L0nRL/fl8nY1FUCQ4p1xujWGaPB
C7ljbeuuTHONRkTOQZRIv0TmjbMi47yTka3dlXNnpStVN2DDMjleyovj0dHR
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
SYYBTKRTne2igdZFg8Ad603Mr84z3MlUozQFznFx2JVjyRKUooVpYjTia/po
Z23NCycB0OVLs5sJHlVqEVKQ/8Nq/6X9QkjN5rUe8xmectigxnUZsNMWQvGC
uAFcgDDpzMG2S5uJtQE4J3BsFtbS0jZ0sS31Ku6Aa2RLNvXBLaMsWtus8qyC
5TJfshi3bAatPupaaIqcWkdbIExQWRvwKJY2EIt2DRNFN9uZJenMktjWLNm1
zMo8My0rFVyRxbHhJyIwJ5qNmCfVTVzb2EpVWhlbYIP6gCiJw13b7dGFrByn
ueT9ImvnUVEuGtShkRsVwy5YMGaMKBluzfXaDWrs+Mgw4itd+bjjJV1P6zp1
5boaL490PnAHWcf4CgnMkH/tCkjlo50/Wjpw4Rtl1kKPRb70XGgtwZdNxWvb
K7ExZkOPgiubNqBkWFPjSFhGkTDWhdot0KFR3AMN1gYXU5UQ/WoabkK6lzaY
WxVxoR5zexmOkVQaguq4GQvBhjyGmGiBZwICVoozIT9R+xRo50+2w4fPPQUY
cuiS64QaFY8mdZ43HLC72j3D9lSFLvK+DacDoNzaJHKCKKMTBU2Uu4g7cTZ7
k5DXSFpZDUBehzmYOp1uIMbORjB2SEKz67tlTQpLrHTZQgO0NrPZVpfjOkHE
KFxGzWkc49vGcKfohMsgtiDo0wi///67eI++eIQHO0iM/B9ns1ixulfZ2GOn
c/gTnpX9tT+0rwpEk7CxnSd78PeTXTwx8l/0l1z3xwJ3uqG/5s+36y7SD5vH
tDXpobxPeuNe+kB3fr1ukLUXaRe06h1X3faWwDJwVzCBXzsCt0n2iTTYKcB1
2lMyoCnYoLn70d21s66bb48lLlAEReR+KJ9O9LTPm+vb+IEPBn3z5CMC/uQh
NIQj2u3J+/vVwbCJeIadhhsDqg1w0oqvNq7vN8DKlnlHQlMSk9lh2+bjrJxt
TMNB0ROky4AOrW/BwHmefNBz/Rt3gbom/B5lijVnrNZ1FMIMTeG8P2hrp3EU
b57DQ5qDSsQX9M238XRN8NPHTO/qkdOo9LDe2oT1bBEItV0q5w2s8ETQEe3S
R/OZbf5wL0Iny/z/ZsorsnN+WIYYbr4dVfdPmLLi8QIOuZt/rln7P6LZ68do
9kfNf2wfrc5sbyHPQVMet5LdIb2dpGi/Y95cdgzxWyjn+AZTYwsO6/IGUb+1
8DkEgsA2M/pIecAe0LM9TNwB3c1/xXlFbHlfVNg94Fazkmy4Cr1fGArCT1Rr
ptYLwsBRP3arABPXXsS6atKnlF9EyNewyXWn6jrINYM4uQjQ1YZK26WSQpqC
AL1qF7ZcfqlV1vLehp61tTPxMR4574ks9zkYn8vx52ZE5D/XWedWPqZTMeaQ
CbuaQ5RN/TZYniM5dE2E3RMeG842CJgwEiQUBfYOrbMUPeeg6YyJb0ClUOWk
XRC8hH8bIwS3YZfYmk1npctqKOFGPHftkx4E+bmNG6S1pITVohm76hYnoyqb
GaVZsaIev47AaZmta7ulcAP0lnUM1J1o9FNdNB9cXZjHrYE5Vvmi5+iYKxbt
bS3O5iWJyZGYdLsK16bK15zuU2FNPT8cAWBbzLOSNnp9zA38XgHpyEQnTfEp
vRA2CbhWM0Ley8LBR4+mtM5Fcry0knrt6lE38Qp0xtQYbqbdJBcnbwM+c4nO
UJBGmf6zBen+pxSkg1EMNWkwpBRmdosRUctQq80Iz958WGD7KEbnno1BTK3g
xeZwpVVDRK2b7kA77qvvu0kf79mID19wWqfCY8VUq8UsB1AcdYtWt1IgiBMx
T+XPRxckrWte1hLe7kI4VH7IKrG3t4f/UwdNpriDJgYTHxfnf/FjYMaolm+w
eHtw/f78cHT44/Ho9enxNWje8fnV9dnx1ehodDWCYb+Rr17xgwg6KA9Db06w
XdywiW6XBdpRoIhZ7SGV63pIRdxDytxfuNG3L0dxHxGuJh5Cm6j3mgAKMKDg
bFYNFEuRryQxYIUxdeq2JuhEANeelv267CNvkdsMAAbYpm3vpkXOSQtUH++n
lXZWQu2XbHVKVyMxMzxpx7cMmc90STz9y95YF3tmJqZAMPnsP+RnQP9n8q+f
AY7EaPOZ+Y6vye++e9a99le4xrzCE0cWLfRcVZ+noxRign30z+wuBmb2zCa3
Wx3TRtj7UD8G9Yf6GSC0Dyrl2lu8HXyPCwzQ2omZyTC+/Fq6QeS3MVvplSWD
D7zoK44TaZXsFQ2dMqPif54UN5K8nJGhPwmrJAqPz2CeCUzDM6QW56YIZmKz
3IDULeKIiXrxV0agw0dzMEIZYpNZVTZTyilS1BrMUXyuilgu6UUCVgHWmDDJ
hW0+EA96HNXUnI0oJubAEoTL9Dub+6p3XWc/N4+BdaMmLhjCjk5rgwnt4VJ5
EAx6OZlAHA0XAJJO6xl8UHU6wI5KQSdA4RZyDTQ7mEUe0D3dgH68fHHN9Xn8
8sXBde1P1Xpq2LMyC6rm28Z9VLzOPmzyEWlnCg13Awizx6vhcSpZu8NGumpB
eYuVmJn2OJI3u7AEMrSXNt1MpxP88Suz0j9g8+oIHN1y3emjxOeswe42eEKI
ikh1KVxJ3Z4I9kfW2glybLGjt5HoOT66aKpFaWhGGMK9YOGPIdjNeejIc90m
fAym9VKGFmx1hbSo0BoVtMJpenr/lvWet+Q94xSTOwVXtqCIPdD08brWNqBM
fLTytUVB3u+WSkT2vGJcNl0t94RKdXySvGcbU/F4ppnpBUUDnffDVE2u/Nnr
1rsRRNStQucKN5w5vqJsWfx6FWahsy8uZCBTEJpn2IOK9kEZf4qr44wZDzIl
46Jb5Y+RrdkAt9sw2RsNNn6s6jsFmNSuj+bCc8oQmieeL/jj91mJuInOitJR
sot3h7R7RS8t4u3wUvEgGa6Dz5bZ1AI6UH5bU7QrmMmect/23Rzh/Cu+g6Il
OdFC8AVHLcYEvEpH2ELjEZKeCjbFMg6pCTqH83OWraOVztl5cuNPqLTDUP+S
IRdL8xFUL5Sf2BEh2iE1UgxDND8JrWisuDfCSoSXgxOWq9CHcpqMFZa5gHwy
uUPvucPm/cXzA3BTZN9bpxRxeOZnvmzVW89Gh8HUumOELvrCc5jYgxZihGRM
b6Yhs6rxZVnuFHOU2LZxuvBHszbX99tZfhoDUy02CL0EoctVa1D/9ooxvruC
u3o4vYRBvTY3hvMmGwqyNnhg6uKJwEpNkyrL7Xl9S6wG3xAiYluwZRjPr1Hw
eUE6oUH1WUQTgnw590+1++8CZLaZsrakBVF4ZsTGV2FRHmR0PlrvdL0Rwcx/
UfKdDL3dS6bGSXqDg4zSm6K8A+maktMT90MIbcfg+LJvnkyS3CjMYl6BT8zk
2fImV+MGs4hnGP5fFrr+Dc+9/iss+02+LACH/w1bWeUZkAEPlnBDB7/sUfDL
HumECRa7wm5DiAnEilItsNILnd7AaClMPO/Jw1kDX0/5sC2OfITtNOcgo3AZ
j+ypO5swjFDk4QwERZ4UEI2UPfkagE0h3yV3yLsbzcP8AMhgKd8kupo1FURu
AK4hCKQavaJjou7Q4ED8LxhcuhZSVAAA

-->

</rfc>
