rfc8881v7.txt   rfc8881.txt 
Internet Engineering Task Force (IETF) D. Noveck, Ed. Internet Engineering Task Force (IETF) D. Noveck, Ed.
Request for Comments: 8881 NetApp Request for Comments: 8881 NetApp
Obsoletes: 5661 C. Lever Obsoletes: 5661 C. Lever
Category: Standards Track ORACLE Category: Standards Track ORACLE
ISSN: 2070-1721 July 2020 ISSN: 2070-1721 August 2020
Network File System (NFS) Version 4 Minor Version 1 Protocol Network File System (NFS) Version 4 Minor Version 1 Protocol
Abstract Abstract
This document describes the Network File System (NFS) version 4 minor This document describes the Network File System (NFS) version 4 minor
version 1, including features retained from the base protocol (NFS version 1, including features retained from the base protocol (NFS
version 4 minor version 0, which is specified in RFC 7530) and version 4 minor version 0, which is specified in RFC 7530) and
protocol extensions made subsequently. The later minor version has protocol extensions made subsequently. The later minor version has
no dependencies on NFS version 4 minor version 0, and is considered a no dependencies on NFS version 4 minor version 0, and is considered a
skipping to change at line 390 skipping to change at line 390
one in state Rejected, that will need to be addressed in a later one in state Rejected, that will need to be addressed in a later
document. This will involve making changes to consensus decisions document. This will involve making changes to consensus decisions
reflected in RFC 5661, in situations in which the working group reflected in RFC 5661, in situations in which the working group
has decided that the treatment in RFC 5661 is incorrect and needs has decided that the treatment in RFC 5661 is incorrect and needs
to be revised to reflect the working group's new consensus and to to be revised to reflect the working group's new consensus and to
ensure compatibility with existing implementations that do not ensure compatibility with existing implementations that do not
follow the handling described in RFC 5661. follow the handling described in RFC 5661.
Note that it is expected that all such errata reports will remain Note that it is expected that all such errata reports will remain
relevant to implementors and the authors of an eventual relevant to implementors and the authors of an eventual
rfc5661bis, despite the fact that this document, when approved, rfc5661bis, despite the fact that this document obsoletes RFC 5661
will obsolete RFC 5661 [66]. [66].
* There is a need for a new approach to the description of * There is a need for a new approach to the description of
internationalization since the current internationalization internationalization since the current internationalization
section (Section 14) has never been implemented and does not meet section (Section 14) has never been implemented and does not meet
the needs of the NFSv4 protocol. Possible solutions are to create the needs of the NFSv4 protocol. Possible solutions are to create
a new internationalization section modeled on that in [68] or to a new internationalization section modeled on that in [68] or to
create a new document describing internationalization for all create a new document describing internationalization for all
NFSv4 minor versions and reference that document in the RFCs NFSv4 minor versions and reference that document in the RFCs
defining both NFSv4.0 and NFSv4.1. defining both NFSv4.0 and NFSv4.1.
skipping to change at line 4956 skipping to change at line 4956
Named attributes are accessed by the new OPENATTR operation, which Named attributes are accessed by the new OPENATTR operation, which
accesses a hidden directory of attributes associated with a file accesses a hidden directory of attributes associated with a file
system object. OPENATTR takes a filehandle for the object and system object. OPENATTR takes a filehandle for the object and
returns the filehandle for the attribute hierarchy. The filehandle returns the filehandle for the attribute hierarchy. The filehandle
for the named attributes is a directory object accessible by LOOKUP for the named attributes is a directory object accessible by LOOKUP
or READDIR and contains files whose names represent the named or READDIR and contains files whose names represent the named
attributes and whose data bytes are the value of the attribute. For attributes and whose data bytes are the value of the attribute. For
example: example:
+==========+===========+=================================+ +----------+-----------+---------------------------------+
+==========+===========+=================================+
| LOOKUP | "foo" | ; look up file | | LOOKUP | "foo" | ; look up file |
+----------+-----------+---------------------------------+ +----------+-----------+---------------------------------+
| GETATTR | attrbits | | | GETATTR | attrbits | |
+----------+-----------+---------------------------------+ +----------+-----------+---------------------------------+
| OPENATTR | | ; access foo's named attributes | | OPENATTR | | ; access foo's named attributes |
+----------+-----------+---------------------------------+ +----------+-----------+---------------------------------+
| LOOKUP | "x11icon" | ; look up specific attribute | | LOOKUP | "x11icon" | ; look up specific attribute |
+----------+-----------+---------------------------------+ +----------+-----------+---------------------------------+
| READ | 0,4096 | ; read stream of bytes | | READ | 0,4096 | ; read stream of bytes |
+----------+-----------+---------------------------------+ +----------+-----------+---------------------------------+
skipping to change at line 10237 skipping to change at line 10236
no previous CLOSE operation has been sent to the server, a CLOSE no previous CLOSE operation has been sent to the server, a CLOSE
operation must be sent to the server. operation must be sent to the server.
* If a file has other open references at the client, then OPEN * If a file has other open references at the client, then OPEN
operations must be sent to the server. The appropriate stateids operations must be sent to the server. The appropriate stateids
will be provided by the server for subsequent use by the client will be provided by the server for subsequent use by the client
since the delegation stateid will no longer be valid. These OPEN since the delegation stateid will no longer be valid. These OPEN
requests are done with the claim type of CLAIM_DELEGATE_CUR. This requests are done with the claim type of CLAIM_DELEGATE_CUR. This
will allow the presentation of the delegation stateid so that the will allow the presentation of the delegation stateid so that the
client can establish the appropriate rights to perform the OPEN. client can establish the appropriate rights to perform the OPEN.
(see Section 18.16, which describes the OPEN operation, for (See Section 18.16, which describes the OPEN operation, for
details.) details.)
* If there are granted byte-range locks, the corresponding LOCK * If there are granted byte-range locks, the corresponding LOCK
operations need to be performed. This applies to the operations need to be performed. This applies to the
OPEN_DELEGATE_WRITE delegation case only. OPEN_DELEGATE_WRITE delegation case only.
* For an OPEN_DELEGATE_WRITE delegation, if at the time of recall * For an OPEN_DELEGATE_WRITE delegation, if at the time of recall
the file is not open for OPEN4_SHARE_ACCESS_WRITE/ the file is not open for OPEN4_SHARE_ACCESS_WRITE/
OPEN4_SHARE_ACCESS_BOTH, all modified data for the file must be OPEN4_SHARE_ACCESS_BOTH, all modified data for the file must be
flushed to the server. If the delegation had not existed, the flushed to the server. If the delegation had not existed, the
skipping to change at line 27257 skipping to change at line 27256
expansive recovery of file system objects if the metadata server does expansive recovery of file system objects if the metadata server does
not get a positive indication from all clients holding a not get a positive indication from all clients holding a
LAYOUTIOMODE4_RW layout that they have successfully completed all LAYOUTIOMODE4_RW layout that they have successfully completed all
their writes. Sending a LAYOUTCOMMIT (if required) and then their writes. Sending a LAYOUTCOMMIT (if required) and then
following with LAYOUTRETURN can provide such an indication and allow following with LAYOUTRETURN can provide such an indication and allow
for graceful and efficient recovery. for graceful and efficient recovery.
If loca_reclaim is TRUE, the metadata server is free to either If loca_reclaim is TRUE, the metadata server is free to either
examine or ignore the value in the field loca_stateid. The metadata examine or ignore the value in the field loca_stateid. The metadata
server implementation might or might not encode in its layout stateid server implementation might or might not encode in its layout stateid
information that allows the metadate server to perform a consistency information that allows the metadata server to perform a consistency
check on the LAYOUTCOMMIT request. check on the LAYOUTCOMMIT request.
18.43. Operation 50: LAYOUTGET - Get Layout Information 18.43. Operation 50: LAYOUTGET - Get Layout Information
18.43.1. ARGUMENT 18.43.1. ARGUMENT
struct LAYOUTGET4args { struct LAYOUTGET4args {
/* CURRENT_FH: file */ /* CURRENT_FH: file */
bool loga_signal_layout_avail; bool loga_signal_layout_avail;
layouttype4 loga_layout_type; layouttype4 loga_layout_type;
skipping to change at line 30269 skipping to change at line 30268
principals, is of considerable importance. principals, is of considerable importance.
22. IANA Considerations 22. IANA Considerations
This section uses terms that are defined in [63]. This section uses terms that are defined in [63].
22.1. IANA Actions 22.1. IANA Actions
This update does not require any modification of, or additions to, This update does not require any modification of, or additions to,
registry entries or registry rules associated with NFSv4.1. However, registry entries or registry rules associated with NFSv4.1. However,
since this document obsoletes RFC 8881, IANA has updated all registry since this document obsoletes RFC 5661, IANA has updated all registry
entries and registry rules references that point to RFC 5661 to point entries and registry rules references that point to RFC 5661 to point
to this document instead. to this document instead.
Previous actions by IANA related to NFSv4.1 are listed in the Previous actions by IANA related to NFSv4.1 are listed in the
remaining subsections of Section 22. remaining subsections of Section 22.
22.2. Named Attribute Definitions 22.2. Named Attribute Definitions
IANA created a registry called the "NFSv4 Named Attribute Definitions IANA created a registry called the "NFSv4 Named Attribute Definitions
Registry". Registry".
skipping to change at line 31493 skipping to change at line 31492
The slot sequence can be used as needed, and cases in which it The slot sequence can be used as needed, and cases in which it
would be of no use are appropriately noted. would be of no use are appropriately noted.
* It had been assumed that the only functions of EXCHANGE_ID were to * It had been assumed that the only functions of EXCHANGE_ID were to
inform the server of the client, to create the client ID, and to inform the server of the client, to create the client ID, and to
communicate it to the client. When multiple simultaneous communicate it to the client. When multiple simultaneous
connections are involved, as often happens when trunking, that connections are involved, as often happens when trunking, that
treatment was inadequate in that it ignored the role of treatment was inadequate in that it ignored the role of
EXCHANGE_ID in associating the client ID with the connection on EXCHANGE_ID in associating the client ID with the connection on
which it was done, so that it could be used by a subsequent which it was done, so that it could be used by a subsequent
CREATE_SESSSION whose parameters do not include an explicit client CREATE_SESSION whose parameters do not include an explicit client
ID. ID.
The new treatment explicitly discusses the role of EXCHANGE_ID in The new treatment explicitly discusses the role of EXCHANGE_ID in
associating the client ID with the connection so it can be used by associating the client ID with the connection so it can be used by
CREATE_SESSION and in associating a connection with an existing CREATE_SESSION and in associating a connection with an existing
session. session.
The new treatment can be found in Section 18.35 above. It supersedes The new treatment can be found in Section 18.35 above. It supersedes
the treatment in Section 18.35 of RFC 5661 [66]. the treatment in Section 18.35 of RFC 5661 [66].
 End of changes. 7 change blocks. 
9 lines changed or deleted 8 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/