diff options
-rw-r--r-- | fs/nfsd/nfs4proc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index e8158741e8b5..eb8c1337d9ba 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c | |||
@@ -198,6 +198,11 @@ nfsd4_open(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_open | |||
198 | if (status) | 198 | if (status) |
199 | goto out; | 199 | goto out; |
200 | switch (open->op_claim_type) { | 200 | switch (open->op_claim_type) { |
201 | case NFS4_OPEN_CLAIM_DELEGATE_CUR: | ||
202 | status = nfserr_inval; | ||
203 | if (open->op_create) | ||
204 | goto out; | ||
205 | /* fall through */ | ||
201 | case NFS4_OPEN_CLAIM_NULL: | 206 | case NFS4_OPEN_CLAIM_NULL: |
202 | /* | 207 | /* |
203 | * (1) set CURRENT_FH to the file being opened, | 208 | * (1) set CURRENT_FH to the file being opened, |
@@ -220,7 +225,6 @@ nfsd4_open(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_open | |||
220 | if (status) | 225 | if (status) |
221 | goto out; | 226 | goto out; |
222 | break; | 227 | break; |
223 | case NFS4_OPEN_CLAIM_DELEGATE_CUR: | ||
224 | case NFS4_OPEN_CLAIM_DELEGATE_PREV: | 228 | case NFS4_OPEN_CLAIM_DELEGATE_PREV: |
225 | printk("NFSD: unsupported OPEN claim type %d\n", | 229 | printk("NFSD: unsupported OPEN claim type %d\n", |
226 | open->op_claim_type); | 230 | open->op_claim_type); |