Animesh Javali has uploaded this change for review.

View Change

[WIP] Patchset for Write delegations.

Changes include:

- Resetting field `io_work` in `ceph_close_my_fd()` to prevent
the reuse of its stale value in Global file descriptor.
(This caused subsequent WRITE & READ to hang after a
delegreturn.)

- Making `ceph_fsal_lease_op2()` handle FSAL_DELEG_NONE
correctly by marking FDs for closure (`close_on_complete`).

- Enabling Read and Write file delegations by switching delegation
option from `FSAL_OPTION_FILE_READ_DELEG` to
`FSAL_OPTION_FILE_DELEGATIONS`.

- Settting `client_oc` option to true to enable Object Cacher.

- In `nfs4_op_open`, store the associated open state key
(`stateid_other`) within the delegation state to open the
files using this information later via fsal_start_io.

- Disabling non-blocking and zerocopy IO flags.

- Extending `state_deleg` struct in `sal_data.h` to include
`openstate_key` for linking delegations to their corresponding
open states.

Change-Id: Icd21eee9d182148e19ab03c7f3b43cfc07d08672
Signed-off-by: Animesh Javali <Animesh.Javali@ibm.com>
---
M src/FSAL/FSAL_CEPH/handle.c
M src/FSAL/FSAL_CEPH/main.c
M src/Protocols/NFS/nfs4_op_open.c
M src/include/config-h.in.cmake
M src/include/sal_data.h
5 files changed, 35 insertions(+), 5 deletions(-)

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

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

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