aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/state.h
diff options
context:
space:
mode:
authorOlga Kornievskaia <kolga@netapp.com>2019-10-09 11:50:48 -0400
committerJ. Bruce Fields <bfields@redhat.com>2019-12-09 11:44:07 -0500
commitce0887ac96d35c7105090e166bb0807dc0a0e838 (patch)
tree3533f0f13ce8b69cb1d16b85ec4681e86459e9ff /fs/nfsd/state.h
parentNFSD: allow inter server COPY to have a STALE source server fh (diff)
downloadlinux-dev-ce0887ac96d35c7105090e166bb0807dc0a0e838.tar.xz
linux-dev-ce0887ac96d35c7105090e166bb0807dc0a0e838.zip
NFSD add nfs4 inter ssc to nfsd4_copy
Given a universal address, mount the source server from the destination server. Use an internal mount. Call the NFS client nfs42_ssc_open to obtain the NFS struct file suitable for nfsd_copy_range. Ability to do "inter" server-to-server depends on the an nfsd kernel parameter "inter_copy_offload_enable". Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
Diffstat (limited to 'fs/nfsd/state.h')
-rw-r--r--fs/nfsd/state.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/nfsd/state.h b/fs/nfsd/state.h
index 35eb7170aefc..ffc590de016b 100644
--- a/fs/nfsd/state.h
+++ b/fs/nfsd/state.h
@@ -680,6 +680,9 @@ extern struct nfsd4_copy *
find_async_copy(struct nfs4_client *clp, stateid_t *staetid);
extern void nfs4_put_cpntf_state(struct nfsd_net *nn,
struct nfs4_cpntf_state *cps);
+extern __be32 manage_cpntf_state(struct nfsd_net *nn, stateid_t *st,
+ struct nfs4_client *clp,
+ struct nfs4_cpntf_state **cps);
static inline void get_nfs4_file(struct nfs4_file *fi)
{
refcount_inc(&fi->fi_ref);