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: 4118
Status: Held for Document Update
Type: Technical
Publication Format(s) : TEXT
Reported By: Christoph Hellwig
Date Reported: 2014-09-17
Held for Document Update by: Martin Stiemerling
Date Held: 2016-02-02
Section 20.12.3 says:
NOTIFY_DEVICEID4_CHANGE A previously provided device-ID-to-device-address mapping has changed and the client uses GETDEVICEINFO to obtain the updated mapping. The notification is encoded in a value of data type notify_deviceid_change4. This data type also contains a boolean field, ndc_immediate, which if TRUE indicates that the change will be enforced immediately, and so the client might not be able to complete any pending I/O to the device ID. If ndc_immediate is FALSE, then for an indefinite time, the client can complete pending I/O. After pending I/O is complete, the client SHOULD get the new device-ID-to-device-address mappings before sending new I/O requests to the storage devices addressed by the device ID.
It should say:
NOTIFY_DEVICEID4_CHANGE A previously provided device-ID-to-device-address mapping has changed and the client uses GETDEVICEINFO to obtain the updated mapping. The notification is encoded in a value of data type notify_deviceid_change4. This data type also contains a boolean field, ndc_immediate, which SHOULD be ignored by the client. The client may finish any outstanding I/Os that reference the previously provided device-ID-to-device-address mapping and SHOULD use GETDEVICEINFO to obtain the updated mapping for the previously provided device-ID-to-device-address mapping before requesting new layouts. All outstanding layouts remain valid after a notification of type NOTIFY_DEVICEID4_CHANGE. If the device-ID-to-device-address mapping changed in an incompatible way that would invalidate outstanding layouts, the server MUST recall all outstanding layouts and send a NOTIFY_DEVICEID4_DELETE notification instead.
Notes:
Clarify what DEVICEID4_CHANGE means vs layouts instead of I/Os. Drop the under specified ndc_immediate flag, which can't be enforced.