aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/nfs4proc.c
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2011-10-19 11:52:12 -0400
committerJ. Bruce Fields <bfields@redhat.com>2011-10-19 11:52:12 -0400
commit8b289b2c2355c3bea75f3e499b4aa251a3191382 (patch)
tree1811962d5409e5585d9e21921080bf007dfe554b /fs/nfsd/nfs4proc.c
parenta8d86cd75b709a9c9402c46674ea188493c53901 (diff)
nfsd4: implement new 4.1 open reclaim types
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/nfs4proc.c')
-rw-r--r--fs/nfsd/nfs4proc.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c
index 710b97b7a2f3..458ebb6b59c7 100644
--- a/fs/nfsd/nfs4proc.c
+++ b/fs/nfsd/nfs4proc.c
@@ -366,12 +366,6 @@ nfsd4_open(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
366 switch (open->op_claim_type) { 366 switch (open->op_claim_type) {
367 case NFS4_OPEN_CLAIM_DELEGATE_CUR: 367 case NFS4_OPEN_CLAIM_DELEGATE_CUR:
368 case NFS4_OPEN_CLAIM_NULL: 368 case NFS4_OPEN_CLAIM_NULL:
369 /*
370 * (1) set CURRENT_FH to the file being opened,
371 * creating it if necessary, (2) set open->op_cinfo,
372 * (3) set open->op_truncate if the file is to be
373 * truncated after opening, (4) do permission checking.
374 */
375 status = do_open_lookup(rqstp, &cstate->current_fh, 369 status = do_open_lookup(rqstp, &cstate->current_fh,
376 open); 370 open);
377 if (status) 371 if (status)
@@ -379,17 +373,14 @@ nfsd4_open(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
379 break; 373 break;
380 case NFS4_OPEN_CLAIM_PREVIOUS: 374 case NFS4_OPEN_CLAIM_PREVIOUS:
381 open->op_openowner->oo_flags |= NFS4_OO_CONFIRMED; 375 open->op_openowner->oo_flags |= NFS4_OO_CONFIRMED;
382 /* 376 case NFS4_OPEN_CLAIM_FH:
383 * The CURRENT_FH is already set to the file being 377 case NFS4_OPEN_CLAIM_DELEG_CUR_FH:
384 * opened. (1) set open->op_cinfo, (2) set
385 * open->op_truncate if the file is to be truncated
386 * after opening, (3) do permission checking.
387 */
388 status = do_open_fhandle(rqstp, &cstate->current_fh, 378 status = do_open_fhandle(rqstp, &cstate->current_fh,
389 open); 379 open);
390 if (status) 380 if (status)
391 goto out; 381 goto out;
392 break; 382 break;
383 case NFS4_OPEN_CLAIM_DELEG_PREV_FH:
393 case NFS4_OPEN_CLAIM_DELEGATE_PREV: 384 case NFS4_OPEN_CLAIM_DELEGATE_PREV:
394 open->op_openowner->oo_flags |= NFS4_OO_CONFIRMED; 385 open->op_openowner->oo_flags |= NFS4_OO_CONFIRMED;
395 dprintk("NFSD: unsupported OPEN claim type %d\n", 386 dprintk("NFSD: unsupported OPEN claim type %d\n",