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: J. Bruce Fields <bfields@redhat.com>
这个提交包含在:
@@ -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;
|
||||
|
在新工单中引用
屏蔽一个用户