diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/nfs_fs_sb.h | 4 | ||||
-rw-r--r-- | include/linux/nfs_xdr.h | 19 |
2 files changed, 23 insertions, 0 deletions
diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h index fc83d3d384d0..9f7b9192cf5e 100644 --- a/include/linux/nfs_fs_sb.h +++ b/include/linux/nfs_fs_sb.h | |||
@@ -90,6 +90,10 @@ struct nfs_client { | |||
90 | struct nfs41_server_owner *cl_serverowner; | 90 | struct nfs41_server_owner *cl_serverowner; |
91 | struct nfs41_server_scope *cl_serverscope; | 91 | struct nfs41_server_scope *cl_serverscope; |
92 | struct nfs41_impl_id *cl_implid; | 92 | struct nfs41_impl_id *cl_implid; |
93 | /* nfs 4.1+ state protection modes: */ | ||
94 | unsigned long cl_sp4_flags; | ||
95 | #define NFS_SP4_MACH_CRED_MINIMAL 1 /* Minimal sp4_mach_cred - state ops | ||
96 | * must use machine cred */ | ||
93 | #endif /* CONFIG_NFS_V4 */ | 97 | #endif /* CONFIG_NFS_V4 */ |
94 | 98 | ||
95 | #ifdef CONFIG_NFS_FSCACHE | 99 | #ifdef CONFIG_NFS_FSCACHE |
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index 7c3956d65b3e..01fd84b566f7 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
@@ -1107,6 +1107,23 @@ struct pnfs_ds_commit_info { | |||
1107 | struct pnfs_commit_bucket *buckets; | 1107 | struct pnfs_commit_bucket *buckets; |
1108 | }; | 1108 | }; |
1109 | 1109 | ||
1110 | #define NFS4_OP_MAP_NUM_LONGS \ | ||
1111 | DIV_ROUND_UP(LAST_NFS4_OP, 8 * sizeof(unsigned long)) | ||
1112 | #define NFS4_OP_MAP_NUM_WORDS \ | ||
1113 | (NFS4_OP_MAP_NUM_LONGS * sizeof(unsigned long) / sizeof(u32)) | ||
1114 | struct nfs4_op_map { | ||
1115 | union { | ||
1116 | unsigned long longs[NFS4_OP_MAP_NUM_LONGS]; | ||
1117 | u32 words[NFS4_OP_MAP_NUM_WORDS]; | ||
1118 | } u; | ||
1119 | }; | ||
1120 | |||
1121 | struct nfs41_state_protection { | ||
1122 | u32 how; | ||
1123 | struct nfs4_op_map enforce; | ||
1124 | struct nfs4_op_map allow; | ||
1125 | }; | ||
1126 | |||
1110 | #define NFS4_EXCHANGE_ID_LEN (48) | 1127 | #define NFS4_EXCHANGE_ID_LEN (48) |
1111 | struct nfs41_exchange_id_args { | 1128 | struct nfs41_exchange_id_args { |
1112 | struct nfs_client *client; | 1129 | struct nfs_client *client; |
@@ -1114,6 +1131,7 @@ struct nfs41_exchange_id_args { | |||
1114 | unsigned int id_len; | 1131 | unsigned int id_len; |
1115 | char id[NFS4_EXCHANGE_ID_LEN]; | 1132 | char id[NFS4_EXCHANGE_ID_LEN]; |
1116 | u32 flags; | 1133 | u32 flags; |
1134 | struct nfs41_state_protection state_protect; | ||
1117 | }; | 1135 | }; |
1118 | 1136 | ||
1119 | struct nfs41_server_owner { | 1137 | struct nfs41_server_owner { |
@@ -1146,6 +1164,7 @@ struct nfs41_exchange_id_res { | |||
1146 | struct nfs41_server_owner *server_owner; | 1164 | struct nfs41_server_owner *server_owner; |
1147 | struct nfs41_server_scope *server_scope; | 1165 | struct nfs41_server_scope *server_scope; |
1148 | struct nfs41_impl_id *impl_id; | 1166 | struct nfs41_impl_id *impl_id; |
1167 | struct nfs41_state_protection state_protect; | ||
1149 | }; | 1168 | }; |
1150 | 1169 | ||
1151 | struct nfs41_create_session_args { | 1170 | struct nfs41_create_session_args { |