diff options
Diffstat (limited to 'fs/nfsd/nfs4state.c')
-rw-r--r-- | fs/nfsd/nfs4state.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index e388c9070de4..568d5deacac0 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c | |||
@@ -1790,6 +1790,12 @@ nfsd4_process_open2(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nf | |||
1790 | struct nfs4_delegation *dp = NULL; | 1790 | struct nfs4_delegation *dp = NULL; |
1791 | int status; | 1791 | int status; |
1792 | 1792 | ||
1793 | if (nfs4_in_grace() && open->op_claim_type != NFS4_OPEN_CLAIM_PREVIOUS) | ||
1794 | return nfserr_grace; | ||
1795 | |||
1796 | if (!nfs4_in_grace() && open->op_claim_type == NFS4_OPEN_CLAIM_PREVIOUS) | ||
1797 | return nfserr_no_grace; | ||
1798 | |||
1793 | status = nfserr_inval; | 1799 | status = nfserr_inval; |
1794 | if (!TEST_ACCESS(open->op_share_access) || !TEST_DENY(open->op_share_deny)) | 1800 | if (!TEST_ACCESS(open->op_share_access) || !TEST_DENY(open->op_share_deny)) |
1795 | goto out; | 1801 | goto out; |