3.1.5.2 I/O Operation to Target Fails with an Error Other Than STATUS_PATH_NOT_COVERED

When an I/O operation issued to the target server identified by the TargetHint of the ReferralCache entry used returns an NTSTATUS value with the Sev field set to 2 or 3, as specified in [MS-ERREF] section 2.3, and the NTSTATUS value is not equal to STATUS_PATH_NOT_COVERED (0xC0000257), the next target, if any, from TargetList of ReferralCache entry MAY<10> be selected. When the next target is not selected, or there are no additional targets in the ReferralCache entry, the client MUST fail the user/application-initiated I/O operation and return the same NTSTATUS value that was returned to the client.

If a new target was selected from the TargetList, the TargetHint of the selected ReferralCache entry MUST have its value set to the selected target. This is a performance optimization for future operations that use the same ReferralCache entry, and is a case of "DFS client target failover".