Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41fd1e42 authored by J. Bruce Fields's avatar J. Bruce Fields
Browse files

nfsd4: delay setting current filehandle till success



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: default avatarJ. Bruce Fields <bfields@redhat.com>
parent 508dc6e1
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -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;