@@ -2730,10 +2730,9 @@ EXPORT_SYMBOL(nobh_write_end);
* that it tries to operate without attaching bufferheads to
* the page.
*/
-int nobh_writepage(struct page *page, get_block_t *get_block,
- struct writeback_control *wbc)
+int nobh_writepage(struct inode *inode, struct page *page,
+ get_block_t *get_block, struct writeback_control *wbc)
{
- struct inode * const inode = page->mapping->host;
loff_t i_size = i_size_read(inode);
const pgoff_t end_index = i_size >> PAGE_SHIFT;
unsigned offset;
@@ -926,7 +926,7 @@ static int ext2_nobh_writepage(struct address_space *mapping,
struct page *page,
struct writeback_control *wbc)
{
- return nobh_writepage(page, ext2_get_block, wbc);
+ return nobh_writepage(page->mapping->host, page, ext2_get_block, wbc);
}
static sector_t ext2_bmap(struct address_space *mapping, sector_t block)
@@ -142,7 +142,8 @@ static int gfs2_writepage(struct address_space *mapping, struct page *page,
if (ret <= 0)
return ret;
- return nobh_writepage(page, gfs2_get_block_noalloc, wbc);
+ return nobh_writepage(page->mapping->host, page,
+ gfs2_get_block_noalloc, wbc);
}
/* This is the same as calling block_write_full_page, but it also
@@ -265,8 +265,8 @@ int nobh_write_end(struct file *, struct address_space *,
loff_t, unsigned, unsigned,
struct page *, void *);
int nobh_truncate_page(struct address_space *, loff_t, get_block_t *);
-int nobh_writepage(struct page *page, get_block_t *get_block,
- struct writeback_control *wbc);
+int nobh_writepage(struct inode *inode, struct page *page,
+ get_block_t *get_block, struct writeback_control *wbc);
void buffer_init(void);