Hello NFS community,
We’re seeking clarification on server behavior for OPEN delegations when the same client
issues a potentially conflicting OPEN on a file for which it already holds a delegation.
Context and RFC references
  *
RFC 8881 (10.4 Open
Delegation)<https://datatracker.ietf.org/doc/html/rfc8881#name-open-de...
     *   “There must be no current OPEN conflicting with the requested delegation.”
     *   “There should be no current delegation that conflicts with the delegation being
requested.”
  *
RFC 8881 (10.4.1 Open Delegation and Data
Caching)<https://datatracker.ietf.org/doc/html/rfc8881#name-open-deleg...
     *   For delegation handling, READs/WRITEs without OPEN are treated as the functional
equivalents of a corresponding type of OPEN, and the server “can use the client ID
associated with the current session to determine if the operation has been done by the
holder of the delegation (in which case, no recall is necessary) or by another client (in
which case, the delegation must be recalled and I/O not proceed until the delegation is
returned or revoked).”
  *
Historical reference: RFC 5661 (obsoleted by RFC 8881) carries the same sections 10.4 and
10.4.1
Questions
1) Same-client conflicting OPEN:
  *
If a client holds an OPEN_DELEGATE_READ on a file and then the same client issues an OPEN
that requires write access (or otherwise conflicts), should the server:
  *
     *   Allow the OPEN to complete immediately without recalling the delegation (i.e., no
recall necessary for same-client), per RFC 8881 10.4.1; or
  *
Recall the delegation anyway and delay the operation until DELEGRETURN?
2) OPEN_DELEGATE_WRITE symmetry:
  *
If a client holds an OPEN_DELEGATE_WRITE and then the same client issues an OPEN that
requires read access (or otherwise changes share access/deny modes), should the server
similarly allow the operation to proceed without recall, or recall and delay?
3) Any updates since RFC 5661:
  *
Are there clarifications or consensus updates in RFC 8881 (vs. RFC 5661) or later
documents that alter expected behavior in the same-client case?
Thank you in advance for your time and insights. Looking forward to your guidance and
clarification on these points.
Regards,
Suhas Athani
NFS-ganesha Team