summaryrefslogtreecommitdiff
path: root/include/linux/nfs_xdr.h
diff options
context:
space:
mode:
authorAnna Schumaker <Anna.Schumaker@netapp.com>2013-05-21 16:53:03 -0400
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2016-05-17 15:47:55 -0400
commit2e72448b07dc3ff1b7593e9bfff91db182262857 (patch)
tree8dee05ff1743ef438fa53f85d980e1b3ddb12698 /include/linux/nfs_xdr.h
parent67911c8f18b595040f5c2df0550c69a7c9397891 (diff)
downloadlwn-2e72448b07dc3ff1b7593e9bfff91db182262857.tar.gz
lwn-2e72448b07dc3ff1b7593e9bfff91db182262857.zip
NFS: Add COPY nfs operation
This adds the copy_range file_ops function pointer used by the sys_copy_range() function call. This patch only implements sync copies, so if an async copy happens we decode the stateid and ignore it. Signed-off-by: Anna Schumaker <bjschuma@netapp.com>
Diffstat (limited to 'include/linux/nfs_xdr.h')
-rw-r--r--include/linux/nfs_xdr.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index cb9982d8f38f..e70ed54dad94 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -1343,6 +1343,32 @@ struct nfs42_falloc_res {
const struct nfs_server *falloc_server;
};
+struct nfs42_copy_args {
+ struct nfs4_sequence_args seq_args;
+
+ struct nfs_fh *src_fh;
+ nfs4_stateid src_stateid;
+ u64 src_pos;
+
+ struct nfs_fh *dst_fh;
+ nfs4_stateid dst_stateid;
+ u64 dst_pos;
+
+ u64 count;
+};
+
+struct nfs42_write_res {
+ u64 count;
+ struct nfs_writeverf verifier;
+};
+
+struct nfs42_copy_res {
+ struct nfs4_sequence_res seq_res;
+ struct nfs42_write_res write_res;
+ bool consecutive;
+ bool synchronous;
+};
+
struct nfs42_seek_args {
struct nfs4_sequence_args seq_args;