|
@@ -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;
|