diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/nfs_page.h | 2 | ||||
-rw-r--r-- | include/linux/nfs_xdr.h | 16 | ||||
-rw-r--r-- | include/linux/sunrpc/xdr.h | 6 |
3 files changed, 19 insertions, 5 deletions
diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h index 88d166b555e8..880805774f9f 100644 --- a/include/linux/nfs_page.h +++ b/include/linux/nfs_page.h | |||
@@ -42,7 +42,7 @@ struct nfs_page { | |||
42 | wb_bytes; /* Length of request */ | 42 | wb_bytes; /* Length of request */ |
43 | struct kref wb_kref; /* reference count */ | 43 | struct kref wb_kref; /* reference count */ |
44 | unsigned long wb_flags; | 44 | unsigned long wb_flags; |
45 | struct nfs_writeverf wb_verf; /* Commit cookie */ | 45 | struct nfs_write_verifier wb_verf; /* Commit cookie */ |
46 | }; | 46 | }; |
47 | 47 | ||
48 | struct nfs_pageio_descriptor; | 48 | struct nfs_pageio_descriptor; |
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index d3b7c18b18f4..0e181c2320b7 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
@@ -514,9 +514,13 @@ struct nfs_writeargs { | |||
514 | struct nfs4_sequence_args seq_args; | 514 | struct nfs4_sequence_args seq_args; |
515 | }; | 515 | }; |
516 | 516 | ||
517 | struct nfs_write_verifier { | ||
518 | char data[8]; | ||
519 | }; | ||
520 | |||
517 | struct nfs_writeverf { | 521 | struct nfs_writeverf { |
522 | struct nfs_write_verifier verifier; | ||
518 | enum nfs3_stable_how committed; | 523 | enum nfs3_stable_how committed; |
519 | __be32 verifier[2]; | ||
520 | }; | 524 | }; |
521 | 525 | ||
522 | struct nfs_writeres { | 526 | struct nfs_writeres { |
@@ -1349,6 +1353,8 @@ struct nfs_renamedata { | |||
1349 | struct nfs_access_entry; | 1353 | struct nfs_access_entry; |
1350 | struct nfs_client; | 1354 | struct nfs_client; |
1351 | struct rpc_timeout; | 1355 | struct rpc_timeout; |
1356 | struct nfs_client_initdata; | ||
1357 | struct nfs_pageio_descriptor; | ||
1352 | 1358 | ||
1353 | /* | 1359 | /* |
1354 | * RPC procedure vector for NFSv2/NFSv3 demuxing | 1360 | * RPC procedure vector for NFSv2/NFSv3 demuxing |
@@ -1402,9 +1408,13 @@ struct nfs_rpc_ops { | |||
1402 | int (*set_capabilities)(struct nfs_server *, struct nfs_fh *); | 1408 | int (*set_capabilities)(struct nfs_server *, struct nfs_fh *); |
1403 | int (*decode_dirent)(struct xdr_stream *, struct nfs_entry *, int); | 1409 | int (*decode_dirent)(struct xdr_stream *, struct nfs_entry *, int); |
1404 | void (*read_setup) (struct nfs_read_data *, struct rpc_message *); | 1410 | void (*read_setup) (struct nfs_read_data *, struct rpc_message *); |
1411 | void (*read_pageio_init)(struct nfs_pageio_descriptor *, struct inode *, | ||
1412 | const struct nfs_pgio_completion_ops *); | ||
1405 | void (*read_rpc_prepare)(struct rpc_task *, struct nfs_read_data *); | 1413 | void (*read_rpc_prepare)(struct rpc_task *, struct nfs_read_data *); |
1406 | int (*read_done) (struct rpc_task *, struct nfs_read_data *); | 1414 | int (*read_done) (struct rpc_task *, struct nfs_read_data *); |
1407 | void (*write_setup) (struct nfs_write_data *, struct rpc_message *); | 1415 | void (*write_setup) (struct nfs_write_data *, struct rpc_message *); |
1416 | void (*write_pageio_init)(struct nfs_pageio_descriptor *, struct inode *, int, | ||
1417 | const struct nfs_pgio_completion_ops *); | ||
1408 | void (*write_rpc_prepare)(struct rpc_task *, struct nfs_write_data *); | 1418 | void (*write_rpc_prepare)(struct rpc_task *, struct nfs_write_data *); |
1409 | int (*write_done) (struct rpc_task *, struct nfs_write_data *); | 1419 | int (*write_done) (struct rpc_task *, struct nfs_write_data *); |
1410 | void (*commit_setup) (struct nfs_commit_data *, struct rpc_message *); | 1420 | void (*commit_setup) (struct nfs_commit_data *, struct rpc_message *); |
@@ -1418,9 +1428,13 @@ struct nfs_rpc_ops { | |||
1418 | struct nfs_open_context *ctx, | 1428 | struct nfs_open_context *ctx, |
1419 | int open_flags, | 1429 | int open_flags, |
1420 | struct iattr *iattr); | 1430 | struct iattr *iattr); |
1431 | int (*have_delegation)(struct inode *, fmode_t); | ||
1432 | int (*return_delegation)(struct inode *); | ||
1433 | struct nfs_client *(*alloc_client) (const struct nfs_client_initdata *); | ||
1421 | struct nfs_client * | 1434 | struct nfs_client * |
1422 | (*init_client) (struct nfs_client *, const struct rpc_timeout *, | 1435 | (*init_client) (struct nfs_client *, const struct rpc_timeout *, |
1423 | const char *, rpc_authflavor_t); | 1436 | const char *, rpc_authflavor_t); |
1437 | void (*free_client) (struct nfs_client *); | ||
1424 | }; | 1438 | }; |
1425 | 1439 | ||
1426 | /* | 1440 | /* |
diff --git a/include/linux/sunrpc/xdr.h b/include/linux/sunrpc/xdr.h index af70af333546..63988990bd36 100644 --- a/include/linux/sunrpc/xdr.h +++ b/include/linux/sunrpc/xdr.h | |||
@@ -104,8 +104,6 @@ __be32 *xdr_decode_string_inplace(__be32 *p, char **sp, unsigned int *lenp, | |||
104 | __be32 *xdr_encode_netobj(__be32 *p, const struct xdr_netobj *); | 104 | __be32 *xdr_encode_netobj(__be32 *p, const struct xdr_netobj *); |
105 | __be32 *xdr_decode_netobj(__be32 *p, struct xdr_netobj *); | 105 | __be32 *xdr_decode_netobj(__be32 *p, struct xdr_netobj *); |
106 | 106 | ||
107 | void xdr_encode_pages(struct xdr_buf *, struct page **, unsigned int, | ||
108 | unsigned int); | ||
109 | void xdr_inline_pages(struct xdr_buf *, unsigned int, | 107 | void xdr_inline_pages(struct xdr_buf *, unsigned int, |
110 | struct page **, unsigned int, unsigned int); | 108 | struct page **, unsigned int, unsigned int); |
111 | void xdr_terminate_string(struct xdr_buf *, const u32); | 109 | void xdr_terminate_string(struct xdr_buf *, const u32); |
@@ -205,6 +203,7 @@ struct xdr_stream { | |||
205 | struct kvec *iov; /* pointer to the current kvec */ | 203 | struct kvec *iov; /* pointer to the current kvec */ |
206 | struct kvec scratch; /* Scratch buffer */ | 204 | struct kvec scratch; /* Scratch buffer */ |
207 | struct page **page_ptr; /* pointer to the current page */ | 205 | struct page **page_ptr; /* pointer to the current page */ |
206 | unsigned int nwords; /* Remaining decode buffer length */ | ||
208 | }; | 207 | }; |
209 | 208 | ||
210 | /* | 209 | /* |
@@ -217,12 +216,13 @@ extern void xdr_init_encode(struct xdr_stream *xdr, struct xdr_buf *buf, __be32 | |||
217 | extern __be32 *xdr_reserve_space(struct xdr_stream *xdr, size_t nbytes); | 216 | extern __be32 *xdr_reserve_space(struct xdr_stream *xdr, size_t nbytes); |
218 | extern void xdr_write_pages(struct xdr_stream *xdr, struct page **pages, | 217 | extern void xdr_write_pages(struct xdr_stream *xdr, struct page **pages, |
219 | unsigned int base, unsigned int len); | 218 | unsigned int base, unsigned int len); |
219 | extern unsigned int xdr_stream_pos(const struct xdr_stream *xdr); | ||
220 | extern void xdr_init_decode(struct xdr_stream *xdr, struct xdr_buf *buf, __be32 *p); | 220 | extern void xdr_init_decode(struct xdr_stream *xdr, struct xdr_buf *buf, __be32 *p); |
221 | extern void xdr_init_decode_pages(struct xdr_stream *xdr, struct xdr_buf *buf, | 221 | extern void xdr_init_decode_pages(struct xdr_stream *xdr, struct xdr_buf *buf, |
222 | struct page **pages, unsigned int len); | 222 | struct page **pages, unsigned int len); |
223 | extern void xdr_set_scratch_buffer(struct xdr_stream *xdr, void *buf, size_t buflen); | 223 | extern void xdr_set_scratch_buffer(struct xdr_stream *xdr, void *buf, size_t buflen); |
224 | extern __be32 *xdr_inline_decode(struct xdr_stream *xdr, size_t nbytes); | 224 | extern __be32 *xdr_inline_decode(struct xdr_stream *xdr, size_t nbytes); |
225 | extern void xdr_read_pages(struct xdr_stream *xdr, unsigned int len); | 225 | extern unsigned int xdr_read_pages(struct xdr_stream *xdr, unsigned int len); |
226 | extern void xdr_enter_page(struct xdr_stream *xdr, unsigned int len); | 226 | extern void xdr_enter_page(struct xdr_stream *xdr, unsigned int len); |
227 | extern int xdr_process_buf(struct xdr_buf *buf, unsigned int offset, unsigned int len, int (*actor)(struct scatterlist *, void *), void *data); | 227 | extern int xdr_process_buf(struct xdr_buf *buf, unsigned int offset, unsigned int len, int (*actor)(struct scatterlist *, void *), void *data); |
228 | 228 | ||