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>
This commit is contained in:
J. Bruce Fields 2012-01-27 16:26:02 -05:00
Родитель 508dc6e110
Коммит 41fd1e42f8
1 изменённых файлов: 3 добавлений и 5 удалений

Просмотреть файл

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