Animesh Javali has uploaded this change for review.

View Change

Fix handling of WRITE and READ deleg with ATTRS

In nfs4_op_write(), the existing validation relied on
a bitwise check against OPEN_DELEGATE_WRITE, which
does not work for OPEN_DELEGATE_WRITE_ATTRS_DELEG
This resulted in valid WRITE_ATTRS_DELEG stateids
being rejected with NFS4ERR_BAD_STATEID.
Fix this by explicitly allowing both
OPEN_DELEGATE_WRITE and OPEN_DELEGATE_WRITE_ATTRS_DELEG.

Update queue_deleg_transition_handler() to treat
READ_ATTRS_DELEG and WRITE_ATTRS_DELEG equivalently to
their READ/WRITE counterparts when evaluating export-level
delegation permissions
(EXPORT_OPTION_READ_DELEG / EXPORT_OPTION_WRITE_DELEG).
This ensures correct recall behavior when delegations
are disabled via export configuration for
attribute-aware delegations.

Change-Id: I1848c6a3764ca1c588d26a47a11029aad228162d
Signed-off-by: Animesh Javali <Animesh.Javali@ibm.com>
---
M src/Protocols/NFS/nfs4_op_write.c
M src/support/export_mgr.c
2 files changed, 19 insertions(+), 7 deletions(-)

git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/57/1234257/1

To view, visit change 1234257. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I1848c6a3764ca1c588d26a47a11029aad228162d
Gerrit-Change-Number: 1234257
Gerrit-PatchSet: 1
Gerrit-Owner: Animesh Javali <Animesh.Javali@ibm.com>