Skip to content

Commit

Permalink
nfsd4: delay setting current filehandle till success
Browse files Browse the repository at this point in the history
Compound processing stops on error, so the current filehandle won't be
used on error.  Thus the order here doesn't really matter.  It'll be
more convenient to do it later, though.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
  • Loading branch information
J. Bruce Fields committed Mar 6, 2012
1 parent 508dc6e commit 41fd1e4
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions fs/nfsd/nfs4proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -247,16 +247,14 @@ do_open_lookup(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_o
if (is_create_with_attrs(open) && open->op_acl != NULL)
do_set_nfs4_acl(rqstp, &resfh, open->op_acl, open->op_bmval);

set_change_info(&open->op_cinfo, current_fh);
fh_dup2(current_fh, &resfh);

/* set reply cache */
fh_copy_shallow(&open->op_openowner->oo_owner.so_replay.rp_openfh,
&resfh.fh_handle);
if (!open->op_created)
status = do_open_permission(rqstp, current_fh, open,
status = do_open_permission(rqstp, &resfh, open,
NFSD_MAY_NOP);

set_change_info(&open->op_cinfo, current_fh);
fh_dup2(current_fh, &resfh);
out:
fh_put(&resfh);
return status;
Expand Down

0 comments on commit 41fd1e4

Please sign in to comment.