Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
[linux-2.6] / include / linux / mpage.h
1 /*
2  * include/linux/mpage.h
3  *
4  * Contains declarations related to preparing and submitting BIOS which contain
5  * multiple pagecache pages.
6  */
7
8 /*
9  * (And no, it doesn't do the #ifdef __MPAGE_H thing, and it doesn't do
10  * nested includes.  Get it right in the .c file).
11  */
12 #ifdef CONFIG_BLOCK
13
14 struct mpage_data {
15         struct bio *bio;
16         sector_t last_block_in_bio;
17         get_block_t *get_block;
18         unsigned use_writepage;
19 };
20
21 struct writeback_control;
22
23 struct bio *mpage_bio_submit(int rw, struct bio *bio);
24 int mpage_readpages(struct address_space *mapping, struct list_head *pages,
25                                 unsigned nr_pages, get_block_t get_block);
26 int mpage_readpage(struct page *page, get_block_t get_block);
27 int __mpage_writepage(struct page *page, struct writeback_control *wbc,
28                       void *data);
29 int mpage_writepages(struct address_space *mapping,
30                 struct writeback_control *wbc, get_block_t get_block);
31 int mpage_writepage(struct page *page, get_block_t *get_block,
32                 struct writeback_control *wbc);
33
34 #endif