aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/nfs_page.h
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2007-04-02 18:48:28 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2007-05-01 01:17:04 -0400
commitbcb71bba7e64f0442d0ca339d7d3117a7060589f (patch)
tree072e9a28395eee87e539a48553b20fa9cb768e94 /include/linux/nfs_page.h
parentd8a5ad75cc4d577987964e37a4c43b1c648c201e (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.h14
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
51struct nfs_pageio_descriptor { 51struct 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);
72extern int nfs_scan_list(struct nfs_inode *nfsi, struct list_head *head, struct list_head *dst, 78extern 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);
74extern void nfs_pageio_init(struct nfs_pageio_descriptor *desc, 80extern 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);
76extern void nfs_pageio_add_list(struct nfs_pageio_descriptor *, 85extern void nfs_pageio_add_list(struct nfs_pageio_descriptor *,
77 struct list_head *); 86 struct list_head *);
87extern void nfs_pageio_complete(struct nfs_pageio_descriptor *desc);
78extern int nfs_wait_on_request(struct nfs_page *); 88extern int nfs_wait_on_request(struct nfs_page *);
79extern void nfs_unlock_request(struct nfs_page *req); 89extern void nfs_unlock_request(struct nfs_page *req);
80extern int nfs_set_page_writeback_locked(struct nfs_page *req); 90extern int nfs_set_page_writeback_locked(struct nfs_page *req);