diff options
Diffstat (limited to 'include/linux/nfs_xdr.h')
-rw-r--r-- | include/linux/nfs_xdr.h | 65 |
1 files changed, 45 insertions, 20 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index d6ba9a12591e..bfd0d1bf6707 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
@@ -2,7 +2,6 @@ | |||
2 | #define _LINUX_NFS_XDR_H | 2 | #define _LINUX_NFS_XDR_H |
3 | 3 | ||
4 | #include <linux/nfsacl.h> | 4 | #include <linux/nfsacl.h> |
5 | #include <linux/nfs3.h> | ||
6 | #include <linux/sunrpc/gss_api.h> | 5 | #include <linux/sunrpc/gss_api.h> |
7 | 6 | ||
8 | /* | 7 | /* |
@@ -89,11 +88,12 @@ struct nfs_fattr { | |||
89 | #define NFS_ATTR_FATTR_PRECTIME (1U << 16) | 88 | #define NFS_ATTR_FATTR_PRECTIME (1U << 16) |
90 | #define NFS_ATTR_FATTR_CHANGE (1U << 17) | 89 | #define NFS_ATTR_FATTR_CHANGE (1U << 17) |
91 | #define NFS_ATTR_FATTR_PRECHANGE (1U << 18) | 90 | #define NFS_ATTR_FATTR_PRECHANGE (1U << 18) |
92 | #define NFS_ATTR_FATTR_V4_REFERRAL (1U << 19) /* NFSv4 referral */ | 91 | #define NFS_ATTR_FATTR_V4_LOCATIONS (1U << 19) |
93 | #define NFS_ATTR_FATTR_MOUNTPOINT (1U << 20) /* Treat as mountpoint */ | 92 | #define NFS_ATTR_FATTR_V4_REFERRAL (1U << 20) |
94 | #define NFS_ATTR_FATTR_MOUNTED_ON_FILEID (1U << 21) | 93 | #define NFS_ATTR_FATTR_MOUNTPOINT (1U << 21) |
95 | #define NFS_ATTR_FATTR_OWNER_NAME (1U << 22) | 94 | #define NFS_ATTR_FATTR_MOUNTED_ON_FILEID (1U << 22) |
96 | #define NFS_ATTR_FATTR_GROUP_NAME (1U << 23) | 95 | #define NFS_ATTR_FATTR_OWNER_NAME (1U << 23) |
96 | #define NFS_ATTR_FATTR_GROUP_NAME (1U << 24) | ||
97 | 97 | ||
98 | #define NFS_ATTR_FATTR (NFS_ATTR_FATTR_TYPE \ | 98 | #define NFS_ATTR_FATTR (NFS_ATTR_FATTR_TYPE \ |
99 | | NFS_ATTR_FATTR_MODE \ | 99 | | NFS_ATTR_FATTR_MODE \ |
@@ -182,7 +182,7 @@ struct nfs4_slot { | |||
182 | 182 | ||
183 | struct nfs4_sequence_args { | 183 | struct nfs4_sequence_args { |
184 | struct nfs4_session *sa_session; | 184 | struct nfs4_session *sa_session; |
185 | u8 sa_slotid; | 185 | u32 sa_slotid; |
186 | u8 sa_cache_this; | 186 | u8 sa_cache_this; |
187 | }; | 187 | }; |
188 | 188 | ||
@@ -977,6 +977,7 @@ struct nfs4_server_caps_res { | |||
977 | u32 acl_bitmask; | 977 | u32 acl_bitmask; |
978 | u32 has_links; | 978 | u32 has_links; |
979 | u32 has_symlinks; | 979 | u32 has_symlinks; |
980 | u32 fh_expire_type; | ||
980 | struct nfs4_sequence_res seq_res; | 981 | struct nfs4_sequence_res seq_res; |
981 | }; | 982 | }; |
982 | 983 | ||
@@ -1055,14 +1056,6 @@ struct nfstime4 { | |||
1055 | }; | 1056 | }; |
1056 | 1057 | ||
1057 | #ifdef CONFIG_NFS_V4_1 | 1058 | #ifdef CONFIG_NFS_V4_1 |
1058 | struct nfs_impl_id4 { | ||
1059 | u32 domain_len; | ||
1060 | char *domain; | ||
1061 | u32 name_len; | ||
1062 | char *name; | ||
1063 | struct nfstime4 date; | ||
1064 | }; | ||
1065 | |||
1066 | #define NFS4_EXCHANGE_ID_LEN (48) | 1059 | #define NFS4_EXCHANGE_ID_LEN (48) |
1067 | struct nfs41_exchange_id_args { | 1060 | struct nfs41_exchange_id_args { |
1068 | struct nfs_client *client; | 1061 | struct nfs_client *client; |
@@ -1083,10 +1076,17 @@ struct server_scope { | |||
1083 | char server_scope[NFS4_OPAQUE_LIMIT]; | 1076 | char server_scope[NFS4_OPAQUE_LIMIT]; |
1084 | }; | 1077 | }; |
1085 | 1078 | ||
1079 | struct nfs41_impl_id { | ||
1080 | char domain[NFS4_OPAQUE_LIMIT + 1]; | ||
1081 | char name[NFS4_OPAQUE_LIMIT + 1]; | ||
1082 | struct nfstime4 date; | ||
1083 | }; | ||
1084 | |||
1086 | struct nfs41_exchange_id_res { | 1085 | struct nfs41_exchange_id_res { |
1087 | struct nfs_client *client; | 1086 | struct nfs_client *client; |
1088 | u32 flags; | 1087 | u32 flags; |
1089 | struct server_scope *server_scope; | 1088 | struct server_scope *server_scope; |
1089 | struct nfs41_impl_id *impl_id; | ||
1090 | }; | 1090 | }; |
1091 | 1091 | ||
1092 | struct nfs41_create_session_args { | 1092 | struct nfs41_create_session_args { |
@@ -1192,6 +1192,27 @@ struct nfs_write_data { | |||
1192 | struct page *page_array[NFS_PAGEVEC_SIZE]; | 1192 | struct page *page_array[NFS_PAGEVEC_SIZE]; |
1193 | }; | 1193 | }; |
1194 | 1194 | ||
1195 | struct nfs_unlinkdata { | ||
1196 | struct hlist_node list; | ||
1197 | struct nfs_removeargs args; | ||
1198 | struct nfs_removeres res; | ||
1199 | struct inode *dir; | ||
1200 | struct rpc_cred *cred; | ||
1201 | struct nfs_fattr dir_attr; | ||
1202 | }; | ||
1203 | |||
1204 | struct nfs_renamedata { | ||
1205 | struct nfs_renameargs args; | ||
1206 | struct nfs_renameres res; | ||
1207 | struct rpc_cred *cred; | ||
1208 | struct inode *old_dir; | ||
1209 | struct dentry *old_dentry; | ||
1210 | struct nfs_fattr old_fattr; | ||
1211 | struct inode *new_dir; | ||
1212 | struct dentry *new_dentry; | ||
1213 | struct nfs_fattr new_fattr; | ||
1214 | }; | ||
1215 | |||
1195 | struct nfs_access_entry; | 1216 | struct nfs_access_entry; |
1196 | struct nfs_client; | 1217 | struct nfs_client; |
1197 | struct rpc_timeout; | 1218 | struct rpc_timeout; |
@@ -1221,10 +1242,12 @@ struct nfs_rpc_ops { | |||
1221 | struct iattr *, int, struct nfs_open_context *); | 1242 | struct iattr *, int, struct nfs_open_context *); |
1222 | int (*remove) (struct inode *, struct qstr *); | 1243 | int (*remove) (struct inode *, struct qstr *); |
1223 | void (*unlink_setup) (struct rpc_message *, struct inode *dir); | 1244 | void (*unlink_setup) (struct rpc_message *, struct inode *dir); |
1245 | void (*unlink_rpc_prepare) (struct rpc_task *, struct nfs_unlinkdata *); | ||
1224 | int (*unlink_done) (struct rpc_task *, struct inode *); | 1246 | int (*unlink_done) (struct rpc_task *, struct inode *); |
1225 | int (*rename) (struct inode *, struct qstr *, | 1247 | int (*rename) (struct inode *, struct qstr *, |
1226 | struct inode *, struct qstr *); | 1248 | struct inode *, struct qstr *); |
1227 | void (*rename_setup) (struct rpc_message *msg, struct inode *dir); | 1249 | void (*rename_setup) (struct rpc_message *msg, struct inode *dir); |
1250 | void (*rename_rpc_prepare)(struct rpc_task *task, struct nfs_renamedata *); | ||
1228 | int (*rename_done) (struct rpc_task *task, struct inode *old_dir, struct inode *new_dir); | 1251 | int (*rename_done) (struct rpc_task *task, struct inode *old_dir, struct inode *new_dir); |
1229 | int (*link) (struct inode *, struct inode *, struct qstr *); | 1252 | int (*link) (struct inode *, struct inode *, struct qstr *); |
1230 | int (*symlink) (struct inode *, struct dentry *, struct page *, | 1253 | int (*symlink) (struct inode *, struct dentry *, struct page *, |
@@ -1244,8 +1267,10 @@ struct nfs_rpc_ops { | |||
1244 | int (*set_capabilities)(struct nfs_server *, struct nfs_fh *); | 1267 | int (*set_capabilities)(struct nfs_server *, struct nfs_fh *); |
1245 | int (*decode_dirent)(struct xdr_stream *, struct nfs_entry *, int); | 1268 | int (*decode_dirent)(struct xdr_stream *, struct nfs_entry *, int); |
1246 | void (*read_setup) (struct nfs_read_data *, struct rpc_message *); | 1269 | void (*read_setup) (struct nfs_read_data *, struct rpc_message *); |
1270 | void (*read_rpc_prepare)(struct rpc_task *, struct nfs_read_data *); | ||
1247 | int (*read_done) (struct rpc_task *, struct nfs_read_data *); | 1271 | int (*read_done) (struct rpc_task *, struct nfs_read_data *); |
1248 | void (*write_setup) (struct nfs_write_data *, struct rpc_message *); | 1272 | void (*write_setup) (struct nfs_write_data *, struct rpc_message *); |
1273 | void (*write_rpc_prepare)(struct rpc_task *, struct nfs_write_data *); | ||
1249 | int (*write_done) (struct rpc_task *, struct nfs_write_data *); | 1274 | int (*write_done) (struct rpc_task *, struct nfs_write_data *); |
1250 | void (*commit_setup) (struct nfs_write_data *, struct rpc_message *); | 1275 | void (*commit_setup) (struct nfs_write_data *, struct rpc_message *); |
1251 | int (*commit_done) (struct rpc_task *, struct nfs_write_data *); | 1276 | int (*commit_done) (struct rpc_task *, struct nfs_write_data *); |
@@ -1275,11 +1300,11 @@ struct nfs_rpc_ops { | |||
1275 | extern const struct nfs_rpc_ops nfs_v2_clientops; | 1300 | extern const struct nfs_rpc_ops nfs_v2_clientops; |
1276 | extern const struct nfs_rpc_ops nfs_v3_clientops; | 1301 | extern const struct nfs_rpc_ops nfs_v3_clientops; |
1277 | extern const struct nfs_rpc_ops nfs_v4_clientops; | 1302 | extern const struct nfs_rpc_ops nfs_v4_clientops; |
1278 | extern struct rpc_version nfs_version2; | 1303 | extern const struct rpc_version nfs_version2; |
1279 | extern struct rpc_version nfs_version3; | 1304 | extern const struct rpc_version nfs_version3; |
1280 | extern struct rpc_version nfs_version4; | 1305 | extern const struct rpc_version nfs_version4; |
1281 | 1306 | ||
1282 | extern struct rpc_version nfsacl_version3; | 1307 | extern const struct rpc_version nfsacl_version3; |
1283 | extern struct rpc_program nfsacl_program; | 1308 | extern const struct rpc_program nfsacl_program; |
1284 | 1309 | ||
1285 | #endif | 1310 | #endif |