diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-04-02 18:48:28 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-05-01 01:17:04 -0400 |
commit | bcb71bba7e64f0442d0ca339d7d3117a7060589f (patch) | |
tree | 072e9a28395eee87e539a48553b20fa9cb768e94 /include/linux/nfs_page.h | |
parent | d8a5ad75cc4d577987964e37a4c43b1c648c201e (diff) |
NFS: Another cleanup of the read/write request coalescing code
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux/nfs_page.h')
-rw-r--r-- | include/linux/nfs_page.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h index 3ef8e0441473..91c7b18c47d8 100644 --- a/include/linux/nfs_page.h +++ b/include/linux/nfs_page.h | |||
@@ -50,9 +50,15 @@ struct nfs_page { | |||
50 | 50 | ||
51 | struct nfs_pageio_descriptor { | 51 | struct nfs_pageio_descriptor { |
52 | struct list_head pg_list; | 52 | struct list_head pg_list; |
53 | unsigned long pg_bytes_written; | ||
53 | size_t pg_count; | 54 | size_t pg_count; |
54 | size_t pg_bsize; | 55 | size_t pg_bsize; |
55 | unsigned int pg_base; | 56 | unsigned int pg_base; |
57 | |||
58 | struct inode *pg_inode; | ||
59 | int (*pg_doio)(struct inode *, struct list_head *, size_t, int); | ||
60 | int pg_ioflags; | ||
61 | int pg_error; | ||
56 | }; | 62 | }; |
57 | 63 | ||
58 | #define NFS_WBACK_BUSY(req) (test_bit(PG_BUSY,&(req)->wb_flags)) | 64 | #define NFS_WBACK_BUSY(req) (test_bit(PG_BUSY,&(req)->wb_flags)) |
@@ -71,10 +77,14 @@ extern long nfs_scan_dirty(struct address_space *mapping, | |||
71 | struct list_head *dst); | 77 | struct list_head *dst); |
72 | extern int nfs_scan_list(struct nfs_inode *nfsi, struct list_head *head, struct list_head *dst, | 78 | extern int nfs_scan_list(struct nfs_inode *nfsi, struct list_head *head, struct list_head *dst, |
73 | unsigned long idx_start, unsigned int npages); | 79 | unsigned long idx_start, unsigned int npages); |
74 | extern void nfs_pageio_init(struct nfs_pageio_descriptor *desc, | 80 | extern void nfs_pageio_init(struct nfs_pageio_descriptor *desc, |
75 | size_t iosize); | 81 | struct inode *inode, |
82 | int (*doio)(struct inode *, struct list_head *, size_t, int), | ||
83 | size_t bsize, | ||
84 | int how); | ||
76 | extern void nfs_pageio_add_list(struct nfs_pageio_descriptor *, | 85 | extern void nfs_pageio_add_list(struct nfs_pageio_descriptor *, |
77 | struct list_head *); | 86 | struct list_head *); |
87 | extern void nfs_pageio_complete(struct nfs_pageio_descriptor *desc); | ||
78 | extern int nfs_wait_on_request(struct nfs_page *); | 88 | extern int nfs_wait_on_request(struct nfs_page *); |
79 | extern void nfs_unlock_request(struct nfs_page *req); | 89 | extern void nfs_unlock_request(struct nfs_page *req); |
80 | extern int nfs_set_page_writeback_locked(struct nfs_page *req); | 90 | extern int nfs_set_page_writeback_locked(struct nfs_page *req); |