diff options
author | Andrew Morton <akpm@osdl.org> | 2005-05-05 16:16:02 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-05 16:36:44 -0700 |
commit | d17d7fa44dbe1f12031773e27eda9e939024a037 (patch) | |
tree | 4b2a8ebb60907a5cde4dd02b737851525a24a588 /fs/mpage.c | |
parent | ecffdde68ebefa1aa24411a91b12ae649f71f71c (diff) | |
download | lwn-d17d7fa44dbe1f12031773e27eda9e939024a037.tar.gz lwn-d17d7fa44dbe1f12031773e27eda9e939024a037.zip |
[PATCH] revert ext3-writepages-support-for-writeback-mode
This had a fatal lock ranking bug: we do journal_start outside
mpage_writepages()'s lock_page().
Revert the whole thing, think again.
Credit-to: Jan Kara <jack@suse.cz>
For identifying the bug.
Cc: Badari Pulavarty <pbadari@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/mpage.c')
-rw-r--r-- | fs/mpage.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/fs/mpage.c b/fs/mpage.c index 32c7c8fcfce7..68db5256a727 100644 --- a/fs/mpage.c +++ b/fs/mpage.c @@ -627,15 +627,6 @@ int mpage_writepages(struct address_space *mapping, struct writeback_control *wbc, get_block_t get_block) { - return __mpage_writepages(mapping, wbc, get_block, - mapping->a_ops->writepage); -} - -int -__mpage_writepages(struct address_space *mapping, - struct writeback_control *wbc, get_block_t get_block, - writepage_t writepage_fn) -{ struct backing_dev_info *bdi = mapping->backing_dev_info; struct bio *bio = NULL; sector_t last_block_in_bio = 0; @@ -725,7 +716,7 @@ retry: } else { bio = __mpage_writepage(bio, page, get_block, &last_block_in_bio, &ret, wbc, - writepage_fn); + page->mapping->a_ops->writepage); } if (unlikely(ret == WRITEPAGE_ACTIVATE)) unlock_page(page); @@ -755,7 +746,6 @@ retry: return ret; } EXPORT_SYMBOL(mpage_writepages); -EXPORT_SYMBOL(__mpage_writepages); int mpage_writepage(struct page *page, get_block_t get_block, struct writeback_control *wbc) |