introduce __block_write_begin

Split up the block_write_begin implementation - __block_write_begin is a new
trivial wrapper for block_prepare_write that always takes an already
allocated page and can be either called from block_write_begin or filesystem
code that already has a page allocated.  Remove the handling of already
allocated pages from block_write_begin after switching all callers that
do it to __block_write_begin.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Christoph Hellwig 2010-06-04 11:29:57 +02:00 committed by Al Viro
parent f4e420dc42
commit 6e1db88d53
10 changed files with 39 additions and 64 deletions

View file

@ -359,8 +359,7 @@ static int minix_readpage(struct file *file, struct page *page)
int minix_prepare_chunk(struct page *page, loff_t pos, unsigned len)
{
return block_write_begin_newtrunc(NULL, page->mapping, pos, len, 0,
&page, NULL, minix_get_block);
return __block_write_begin(page, pos, len, minix_get_block);
}
static int minix_write_begin(struct file *file, struct address_space *mapping,