<?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-06" 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-06"/>
    <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, directory-entry metadata or visibility
observed by a client may vary over time or across clients due to
server policy or other factors.  Reuse of cached directory-entry
metadata across users can therefore result in clients presenting
directory contents or attributes that do not reflect the current
state of the server.  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>This document does not define the conditions under which directory-entry
metadata or visibility may vary. It specifies the client behavior
necessary to maintain correctness when such variation is observed.</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>Access Based Enumeration (ABE), as implemented in the Server Message
Block (SMB) <xref target="MS-SMB2"/> and deployed in implementations such as Samba
<xref target="Samba"/>, is one example of an environment in which directory
visibility may differ across requests. This document does not define
such mechanisms, but addresses client-side caching behavior when such
variation is observed.</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 in environments where
such information is not uniformly cacheable. 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>
      <t>Clients <bcp14>MUST NOT</bcp14> assume that directory-entry metadata is globally
valid across different access contexts.</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, ensuring that the returned metadata
reflects the current state and visibility as determined by the
server.  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 servers to indicate
that directory-entry metadata should not be assumed to be uniformly
cacheable across observations.</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="23" month="March" 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-06"/>
        </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 533?>

<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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
EMg1esPnVf3pxZH6X6OhobiMVQAA

-->

</rfc>
