RFC Errata
RFC 5661, "Network File System (NFS) Version 4 Minor Version 1 Protocol", January 2010
Note: This RFC has been obsoleted by RFC 8881
Note: This RFC has been updated by RFC 8178, RFC 8434
Source of RFC: nfsv4 (wit)
Errata ID: 2505
Status: Held for Document Update
Type: Technical
Publication Format(s) : TEXT
Reported By: Michael Eisler
Date Reported: 2010-08-31
Held for Document Update by: Magnus Westerlund
Date Held: 2019-10-25
Section 12.5.4. says:
Because of this inconsistency, it is necessary to resynchronize the client with the metadata server and its storage devices and make any potential changes available to other clients. AND For file-based layouts, synchronization of attributes between the metadata and storage devices, primarily the size attribute, is required.
It should say:
Because of this inconsistency, in general, it is necessary to resynchronize the client with the metadata server and its storage devices and make any potential changes available to other clients. AND For file-based layouts, synchronization of attributes between the metadata and storage devices, primarily the size attribute, is not required, but the use of LAYOUTCOMMIT provides a way to optimize the synchronization. Indeed, if a LAYOUT4_NFSV4_1_FILES layout is ever revoked, the metadata server MUST direct all data servers to commit any modified data of the file to stable storage, and synchronize the file's size and time_modify attributes on the metadata server with the those on the data server.
Notes:
Without this correction, the implication is that a file could be truncated if a LAYOUT4_NFSV4_1_FILES layout was revoked before LAYOUTCOMMIT, which would then mean that every append operation to a data server would require a LAYOUTCOMMIT, which is an absurd consequence.