Soumya has uploaded this change for review.

View Change

Recall write delegation only if it conflicts with other clients` access

NFS client should be able to perform some operations like setattr or
reopen with different claim type while still holding write delegation.
Hence the server should check and recall delegations only if there is
conflicting access from other clients.

Added a new field in state_hdl->file structure to store the client
which has been granted write delegation. This is compared with
op_ctx->client to check if its the same client performing operations.
Also included a helper function to verify if the file has been write
delegated and if yes to return the client pointer.

Change-Id: Ifbe10bd3350fb9553a29b3b7ab13c6812c99b1fa
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
---
M src/SAL/nfs4_state.c
M src/SAL/state_deleg.c
M src/include/sal_data.h
M src/include/sal_functions.h
4 files changed, 52 insertions(+), 4 deletions(-)

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

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

Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: Ifbe10bd3350fb9553a29b3b7ab13c6812c99b1fa
Gerrit-Change-Number: 440770
Gerrit-PatchSet: 1
Gerrit-Owner: Soumya <skoduri@redhat.com>
Gerrit-MessageType: newchange