summaryrefslogtreecommitdiffstats
path: root/fs/ext2/dir.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2010-06-04 11:29:57 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2010-08-09 22:47:32 +0200
commit6e1db88d536adcbbfe562b2d4b7d6425784fff12 (patch)
tree8cfcb5a6190722db6249b2e4978f39247975abcf /fs/ext2/dir.c
parentclean up write_begin usage for directories in pagecache (diff)
downloadlinux-6e1db88d536adcbbfe562b2d4b7d6425784fff12.tar.xz
linux-6e1db88d536adcbbfe562b2d4b7d6425784fff12.zip
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>
Diffstat (limited to 'fs/ext2/dir.c')
-rw-r--r--fs/ext2/dir.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/ext2/dir.c b/fs/ext2/dir.c
index 6b946bae11cf..764109886ec0 100644
--- a/fs/ext2/dir.c
+++ b/fs/ext2/dir.c
@@ -450,8 +450,7 @@ ino_t ext2_inode_by_name(struct inode *dir, struct qstr *child)
static int ext2_prepare_chunk(struct page *page, loff_t pos, unsigned len)
{
- return block_write_begin_newtrunc(NULL, page->mapping, pos, len, 0,
- &page, NULL, ext2_get_block);
+ return __block_write_begin(page, pos, len, ext2_get_block);
}
/* Releases the page */