mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
NFS: Another cleanup of the read/write request coalescing code
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
d8a5ad75cc
commit
bcb71bba7e
4 changed files with 125 additions and 75 deletions
|
@ -50,9 +50,15 @@ struct nfs_page {
|
|||
|
||||
struct nfs_pageio_descriptor {
|
||||
struct list_head pg_list;
|
||||
unsigned long pg_bytes_written;
|
||||
size_t pg_count;
|
||||
size_t pg_bsize;
|
||||
unsigned int pg_base;
|
||||
|
||||
struct inode *pg_inode;
|
||||
int (*pg_doio)(struct inode *, struct list_head *, size_t, int);
|
||||
int pg_ioflags;
|
||||
int pg_error;
|
||||
};
|
||||
|
||||
#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,
|
|||
struct list_head *dst);
|
||||
extern int nfs_scan_list(struct nfs_inode *nfsi, struct list_head *head, struct list_head *dst,
|
||||
unsigned long idx_start, unsigned int npages);
|
||||
extern void nfs_pageio_init(struct nfs_pageio_descriptor *desc,
|
||||
size_t iosize);
|
||||
extern void nfs_pageio_init(struct nfs_pageio_descriptor *desc,
|
||||
struct inode *inode,
|
||||
int (*doio)(struct inode *, struct list_head *, size_t, int),
|
||||
size_t bsize,
|
||||
int how);
|
||||
extern void nfs_pageio_add_list(struct nfs_pageio_descriptor *,
|
||||
struct list_head *);
|
||||
extern void nfs_pageio_complete(struct nfs_pageio_descriptor *desc);
|
||||
extern int nfs_wait_on_request(struct nfs_page *);
|
||||
extern void nfs_unlock_request(struct nfs_page *req);
|
||||
extern int nfs_set_page_writeback_locked(struct nfs_page *req);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue