Merge tag 'hwmon-for-linus-v4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel...
[firefly-linux-kernel-4.4.55.git] / include / linux / nfs_xdr.h
index 52faf7e96c65db03f57777b63ce0428fac912e25..570d630f98ae53a34b4c9420f037d87c4b97a3cc 100644 (file)
@@ -141,6 +141,7 @@ struct nfs_fsinfo {
        __u32                   lease_time; /* in seconds */
        __u32                   layouttype; /* supported pnfs layout driver */
        __u32                   blksize; /* preferred pnfs io block size */
+       __u32                   clone_blksize; /* granularity of a CLONE operation */
 };
 
 struct nfs_fsstat {
@@ -359,6 +360,25 @@ struct nfs42_layoutstat_data {
        struct nfs42_layoutstat_res res;
 };
 
+struct nfs42_clone_args {
+       struct nfs4_sequence_args       seq_args;
+       struct nfs_fh                   *src_fh;
+       struct nfs_fh                   *dst_fh;
+       nfs4_stateid                    src_stateid;
+       nfs4_stateid                    dst_stateid;
+       __u64                           src_offset;
+       __u64                           dst_offset;
+       __u64                           count;
+       const u32                       *dst_bitmask;
+};
+
+struct nfs42_clone_res {
+       struct nfs4_sequence_res        seq_res;
+       unsigned int                    rpc_status;
+       struct nfs_fattr                *dst_fattr;
+       const struct nfs_server         *server;
+};
+
 struct stateowner_id {
        __u64   create_time;
        __u32   uniquifier;
@@ -528,7 +548,7 @@ struct nfs4_delegreturnargs {
 struct nfs4_delegreturnres {
        struct nfs4_sequence_res        seq_res;
        struct nfs_fattr * fattr;
-       const struct nfs_server *server;
+       struct nfs_server *server;
 };
 
 /*
@@ -601,7 +621,7 @@ struct nfs_removeargs {
 
 struct nfs_removeres {
        struct nfs4_sequence_res        seq_res;
-       const struct nfs_server *server;
+       struct nfs_server *server;
        struct nfs_fattr        *dir_attr;
        struct nfs4_change_info cinfo;
 };
@@ -619,7 +639,7 @@ struct nfs_renameargs {
 
 struct nfs_renameres {
        struct nfs4_sequence_res        seq_res;
-       const struct nfs_server         *server;
+       struct nfs_server               *server;
        struct nfs4_change_info         old_cinfo;
        struct nfs_fattr                *old_fattr;
        struct nfs4_change_info         new_cinfo;
@@ -685,7 +705,6 @@ struct nfs_setaclargs {
        struct nfs4_sequence_args       seq_args;
        struct nfs_fh *                 fh;
        size_t                          acl_len;
-       unsigned int                    acl_pgbase;
        struct page **                  acl_pages;
 };
 
@@ -697,7 +716,6 @@ struct nfs_getaclargs {
        struct nfs4_sequence_args       seq_args;
        struct nfs_fh *                 fh;
        size_t                          acl_len;
-       unsigned int                    acl_pgbase;
        struct page **                  acl_pages;
 };