mirror of
https://github.com/torvalds/linux.git
synced 2024-11-27 14:41:39 +00:00
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: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
parent
24d796ea38
commit
478ed7b10d
@ -1724,13 +1724,6 @@ static __be32 nfsd4_do_copy(struct nfsd4_copy *copy, bool sync)
|
||||
nfsd4_init_copy_res(copy, sync);
|
||||
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;
|
||||
}
|
||||
|
||||
@ -1786,9 +1779,14 @@ static int nfsd4_do_async_copy(void *data)
|
||||
nfsd4_interssc_disconnect(copy->ss_mnt);
|
||||
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:
|
||||
cb_copy = kzalloc(sizeof(struct nfsd4_copy), GFP_KERNEL);
|
||||
if (!cb_copy)
|
||||
@ -1864,6 +1862,7 @@ nfsd4_copy(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
|
||||
status = nfs_ok;
|
||||
} else {
|
||||
status = nfsd4_do_copy(copy, 1);
|
||||
nfsd4_cleanup_intra_ssc(copy->nf_src, copy->nf_dst);
|
||||
}
|
||||
out:
|
||||
return status;
|
||||
|
Loading…
Reference in New Issue
Block a user