diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-01-03 03:55:04 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-01-06 14:58:39 -0500 |
commit | 963d8fe53339128ee46a7701f2e36305f0ccff8c (patch) | |
tree | 426736c70a8e05cb1d945d5c7f44ea6475edd113 /include/linux/nfs_fs.h | |
parent | abbcf28f23d53e8ec56a91f3528743913fa2694a (diff) |
RPC: Clean up RPC task structure
Shrink the RPC task structure. Instead of storing separate pointers
for task->tk_exit and task->tk_release, put them in a structure.
Also pass the user data pointer as a parameter instead of passing it via
task->tk_calldata. This enables us to nest callbacks.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux/nfs_fs.h')
-rw-r--r-- | include/linux/nfs_fs.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index 2516adeccecf..4dff705d2ff2 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
@@ -406,10 +406,12 @@ extern int nfs_writepage(struct page *page, struct writeback_control *wbc); | |||
406 | extern int nfs_writepages(struct address_space *, struct writeback_control *); | 406 | extern int nfs_writepages(struct address_space *, struct writeback_control *); |
407 | extern int nfs_flush_incompatible(struct file *file, struct page *page); | 407 | extern int nfs_flush_incompatible(struct file *file, struct page *page); |
408 | extern int nfs_updatepage(struct file *, struct page *, unsigned int, unsigned int); | 408 | extern int nfs_updatepage(struct file *, struct page *, unsigned int, unsigned int); |
409 | extern void nfs_writeback_done(struct rpc_task *task); | 409 | extern void nfs_writeback_done(struct rpc_task *task, void *data); |
410 | extern void nfs_writedata_release(void *data); | ||
410 | 411 | ||
411 | #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4) | 412 | #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4) |
412 | extern void nfs_commit_done(struct rpc_task *); | 413 | extern void nfs_commit_done(struct rpc_task *, void *data); |
414 | extern void nfs_commit_release(void *data); | ||
413 | #endif | 415 | #endif |
414 | 416 | ||
415 | /* | 417 | /* |
@@ -481,7 +483,9 @@ static inline void nfs_writedata_free(struct nfs_write_data *p) | |||
481 | extern int nfs_readpage(struct file *, struct page *); | 483 | extern int nfs_readpage(struct file *, struct page *); |
482 | extern int nfs_readpages(struct file *, struct address_space *, | 484 | extern int nfs_readpages(struct file *, struct address_space *, |
483 | struct list_head *, unsigned); | 485 | struct list_head *, unsigned); |
484 | extern void nfs_readpage_result(struct rpc_task *); | 486 | extern void nfs_readpage_result(struct rpc_task *, void *); |
487 | extern void nfs_readdata_release(void *data); | ||
488 | |||
485 | 489 | ||
486 | /* | 490 | /* |
487 | * Allocate and free nfs_read_data structures | 491 | * Allocate and free nfs_read_data structures |
@@ -501,8 +505,6 @@ static inline void nfs_readdata_free(struct nfs_read_data *p) | |||
501 | mempool_free(p, nfs_rdata_mempool); | 505 | mempool_free(p, nfs_rdata_mempool); |
502 | } | 506 | } |
503 | 507 | ||
504 | extern void nfs_readdata_release(struct rpc_task *task); | ||
505 | |||
506 | /* | 508 | /* |
507 | * linux/fs/nfs3proc.c | 509 | * linux/fs/nfs3proc.c |
508 | */ | 510 | */ |