Commit 478ed7b1 authored by Chuck Lever's avatar Chuck Lever

NFSD: Refactor nfsd4_cleanup_inter_ssc() (2/2)

Move the nfsd4_cleanup_*() call sites out of nfsd4_do_copy(). A
subsequent patch will modify one of the new call sites to avoid
the need to manufacture the phony struct nfsd_file.
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent 24d796ea
...@@ -1724,13 +1724,6 @@ static __be32 nfsd4_do_copy(struct nfsd4_copy *copy, bool sync) ...@@ -1724,13 +1724,6 @@ static __be32 nfsd4_do_copy(struct nfsd4_copy *copy, bool sync)
nfsd4_init_copy_res(copy, sync); nfsd4_init_copy_res(copy, sync);
status = nfs_ok; status = nfs_ok;
} }
if (nfsd4_ssc_is_inter(copy))
nfsd4_cleanup_inter_ssc(copy->ss_mnt, copy->nf_src->nf_file,
copy->nf_dst);
else
nfsd4_cleanup_intra_ssc(copy->nf_src, copy->nf_dst);
return status; return status;
} }
...@@ -1786,9 +1779,14 @@ static int nfsd4_do_async_copy(void *data) ...@@ -1786,9 +1779,14 @@ static int nfsd4_do_async_copy(void *data)
nfsd4_interssc_disconnect(copy->ss_mnt); nfsd4_interssc_disconnect(copy->ss_mnt);
goto do_callback; goto do_callback;
} }
copy->nfserr = nfsd4_do_copy(copy, 0);
nfsd4_cleanup_inter_ssc(copy->ss_mnt, copy->nf_src->nf_file,
copy->nf_dst);
} else {
copy->nfserr = nfsd4_do_copy(copy, 0);
nfsd4_cleanup_intra_ssc(copy->nf_src, copy->nf_dst);
} }
copy->nfserr = nfsd4_do_copy(copy, 0);
do_callback: do_callback:
cb_copy = kzalloc(sizeof(struct nfsd4_copy), GFP_KERNEL); cb_copy = kzalloc(sizeof(struct nfsd4_copy), GFP_KERNEL);
if (!cb_copy) if (!cb_copy)
...@@ -1864,6 +1862,7 @@ nfsd4_copy(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, ...@@ -1864,6 +1862,7 @@ nfsd4_copy(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
status = nfs_ok; status = nfs_ok;
} else { } else {
status = nfsd4_do_copy(copy, 1); status = nfsd4_do_copy(copy, 1);
nfsd4_cleanup_intra_ssc(copy->nf_src, copy->nf_dst);
} }
out: out:
return status; return status;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment