diff options
Diffstat (limited to 'include/linux/nfs_xdr.h')
-rw-r--r-- | include/linux/nfs_xdr.h | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index fa1ba78ca2c8..78b101e487ea 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
@@ -195,8 +195,9 @@ struct nfs4_get_lease_time_res { | |||
195 | #define PNFS_LAYOUT_MAXSIZE 4096 | 195 | #define PNFS_LAYOUT_MAXSIZE 4096 |
196 | 196 | ||
197 | struct nfs4_layoutdriver_data { | 197 | struct nfs4_layoutdriver_data { |
198 | struct page **pages; | ||
199 | __u32 pglen; | ||
198 | __u32 len; | 200 | __u32 len; |
199 | void *buf; | ||
200 | }; | 201 | }; |
201 | 202 | ||
202 | struct pnfs_layout_range { | 203 | struct pnfs_layout_range { |
@@ -214,6 +215,7 @@ struct nfs4_layoutget_args { | |||
214 | struct nfs_open_context *ctx; | 215 | struct nfs_open_context *ctx; |
215 | struct nfs4_sequence_args seq_args; | 216 | struct nfs4_sequence_args seq_args; |
216 | nfs4_stateid stateid; | 217 | nfs4_stateid stateid; |
218 | struct nfs4_layoutdriver_data layout; | ||
217 | }; | 219 | }; |
218 | 220 | ||
219 | struct nfs4_layoutget_res { | 221 | struct nfs4_layoutget_res { |
@@ -221,8 +223,8 @@ struct nfs4_layoutget_res { | |||
221 | struct pnfs_layout_range range; | 223 | struct pnfs_layout_range range; |
222 | __u32 type; | 224 | __u32 type; |
223 | nfs4_stateid stateid; | 225 | nfs4_stateid stateid; |
224 | struct nfs4_layoutdriver_data layout; | ||
225 | struct nfs4_sequence_res seq_res; | 226 | struct nfs4_sequence_res seq_res; |
227 | struct nfs4_layoutdriver_data *layoutp; | ||
226 | }; | 228 | }; |
227 | 229 | ||
228 | struct nfs4_layoutget { | 230 | struct nfs4_layoutget { |
@@ -241,6 +243,29 @@ struct nfs4_getdeviceinfo_res { | |||
241 | struct nfs4_sequence_res seq_res; | 243 | struct nfs4_sequence_res seq_res; |
242 | }; | 244 | }; |
243 | 245 | ||
246 | struct nfs4_layoutcommit_args { | ||
247 | nfs4_stateid stateid; | ||
248 | __u64 lastbytewritten; | ||
249 | struct inode *inode; | ||
250 | const u32 *bitmask; | ||
251 | struct nfs4_sequence_args seq_args; | ||
252 | }; | ||
253 | |||
254 | struct nfs4_layoutcommit_res { | ||
255 | struct nfs_fattr *fattr; | ||
256 | const struct nfs_server *server; | ||
257 | struct nfs4_sequence_res seq_res; | ||
258 | }; | ||
259 | |||
260 | struct nfs4_layoutcommit_data { | ||
261 | struct rpc_task task; | ||
262 | struct nfs_fattr fattr; | ||
263 | struct pnfs_layout_segment *lseg; | ||
264 | struct rpc_cred *cred; | ||
265 | struct nfs4_layoutcommit_args args; | ||
266 | struct nfs4_layoutcommit_res res; | ||
267 | }; | ||
268 | |||
244 | /* | 269 | /* |
245 | * Arguments to the open call. | 270 | * Arguments to the open call. |
246 | */ | 271 | */ |
@@ -1077,6 +1102,7 @@ struct nfs_write_data { | |||
1077 | struct nfs_writeres res; /* result struct */ | 1102 | struct nfs_writeres res; /* result struct */ |
1078 | struct pnfs_layout_segment *lseg; | 1103 | struct pnfs_layout_segment *lseg; |
1079 | struct nfs_client *ds_clp; /* pNFS data server */ | 1104 | struct nfs_client *ds_clp; /* pNFS data server */ |
1105 | int ds_commit_index; | ||
1080 | const struct rpc_call_ops *mds_ops; | 1106 | const struct rpc_call_ops *mds_ops; |
1081 | int (*write_done_cb) (struct rpc_task *task, struct nfs_write_data *data); | 1107 | int (*write_done_cb) (struct rpc_task *task, struct nfs_write_data *data); |
1082 | #ifdef CONFIG_NFS_V4 | 1108 | #ifdef CONFIG_NFS_V4 |