Sriram Patil has uploaded this change for review.

View Change

Add expiry to the client specific grace periods for recovery

The client specific grace periods are controlled by cid_reclaim_complete
for NFSv4.1. The server stops the grace for that client when it sends a
reclaim_complete request. However, if for some reason there is no
reclaim_complete received from the client, the client is stuck while
opening a file forever because ganesha keeps returning NFS4ERR_GRACE.

Adding a timeout to make sure we do not end up in the hung state because of
NFS client bug. THis fix prioritizes failing a reclaim request over waiting
for a reclaim_complete indefinitely.

Change-Id: Ia1ab1a49bff0d053c78b7606f723cb3fe82c80fb
Signed-off-by: Sriram Patil <sriramp@vmware.com>
---
M src/Protocols/NFS/nfs4_op_open.c
M src/SAL/nfs4_clientid.c
M src/SAL/nfs4_recovery.c
M src/include/sal_data.h
M src/include/sal_functions.h
5 files changed, 67 insertions(+), 3 deletions(-)

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

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

Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: Ia1ab1a49bff0d053c78b7606f723cb3fe82c80fb
Gerrit-Change-Number: 468406
Gerrit-PatchSet: 1
Gerrit-Owner: Sriram Patil <sriramp@vmware.com>
Gerrit-MessageType: newchange