29a814d2ee
Export mpage_bio_submit() and __mpage_writepage() for the benefit of ext4's delayed allocation support. Also change __block_write_full_page so that if buffers that have the BH_Delay flag set it will call get_block() to get the physical block allocated, just as in the !BH_Mapped case. Signed-off-by: Alex Tomas <alex@clusterfs.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
35 lines
991 B
C
35 lines
991 B
C
/*
|
|
* include/linux/mpage.h
|
|
*
|
|
* Contains declarations related to preparing and submitting BIOS which contain
|
|
* multiple pagecache pages.
|
|
*/
|
|
|
|
/*
|
|
* (And no, it doesn't do the #ifdef __MPAGE_H thing, and it doesn't do
|
|
* nested includes. Get it right in the .c file).
|
|
*/
|
|
#ifdef CONFIG_BLOCK
|
|
|
|
struct mpage_data {
|
|
struct bio *bio;
|
|
sector_t last_block_in_bio;
|
|
get_block_t *get_block;
|
|
unsigned use_writepage;
|
|
};
|
|
|
|
struct writeback_control;
|
|
|
|
struct bio *mpage_bio_submit(int rw, struct bio *bio);
|
|
int mpage_readpages(struct address_space *mapping, struct list_head *pages,
|
|
unsigned nr_pages, get_block_t get_block);
|
|
int mpage_readpage(struct page *page, get_block_t get_block);
|
|
int __mpage_writepage(struct page *page, struct writeback_control *wbc,
|
|
void *data);
|
|
int mpage_writepages(struct address_space *mapping,
|
|
struct writeback_control *wbc, get_block_t get_block);
|
|
int mpage_writepage(struct page *page, get_block_t *get_block,
|
|
struct writeback_control *wbc);
|
|
|
|
#endif
|