Before nfs41 client's RECLAIM_COMPLETE done, nfs server should deny it's new lock. Signed-off-by: Mi Jinlong <mijinlong@xxxxxxxxxxxxxx> --- fs/nfsd/nfs4state.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 4b36ec3..43cda94 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -3803,6 +3803,15 @@ nfsd4_lock(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, */ struct nfs4_stateid *open_stp = NULL; + /* + * RFC5661 18.51.3 + * Before RECLAIM_COMPLETE done, return NFS4ERR_GRACE + */ + status = nfserr_grace; + if (nfsd4_has_session(cstate) && + !cstate->session->se_client->cl_firststate) + goto out; + status = nfserr_stale_clientid; if (!nfsd4_has_session(cstate) && STALE_CLIENTID(&lock->lk_new_clientid)) -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html