aboutsummaryrefslogtreecommitdiffstats
path: root/fs/mpage.c
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2005-05-05 19:16:02 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-05 19:36:44 -0400
commitd17d7fa44dbe1f12031773e27eda9e939024a037 (patch)
tree4b2a8ebb60907a5cde4dd02b737851525a24a588 /fs/mpage.c
parentecffdde68ebefa1aa24411a91b12ae649f71f71c (diff)
[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.c12
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
627mpage_writepages(struct address_space *mapping, 627mpage_writepages(struct address_space *mapping,
628 struct writeback_control *wbc, get_block_t get_block) 628 struct writeback_control *wbc, get_block_t get_block)
629{ 629{
630 return __mpage_writepages(mapping, wbc, get_block,
631 mapping->a_ops->writepage);
632}
633
634int
635__mpage_writepages(struct address_space *mapping,
636 struct writeback_control *wbc, get_block_t get_block,
637 writepage_t writepage_fn)
638{
639 struct backing_dev_info *bdi = mapping->backing_dev_info; 630 struct backing_dev_info *bdi = mapping->backing_dev_info;
640 struct bio *bio = NULL; 631 struct bio *bio = NULL;
641 sector_t last_block_in_bio = 0; 632 sector_t last_block_in_bio = 0;
@@ -725,7 +716,7 @@ retry:
725 } else { 716 } else {
726 bio = __mpage_writepage(bio, page, get_block, 717 bio = __mpage_writepage(bio, page, get_block,
727 &last_block_in_bio, &ret, wbc, 718 &last_block_in_bio, &ret, wbc,
728 writepage_fn); 719 page->mapping->a_ops->writepage);
729 } 720 }
730 if (unlikely(ret == WRITEPAGE_ACTIVATE)) 721 if (unlikely(ret == WRITEPAGE_ACTIVATE))
731 unlock_page(page); 722 unlock_page(page);
@@ -755,7 +746,6 @@ retry:
755 return ret; 746 return ret;
756} 747}
757EXPORT_SYMBOL(mpage_writepages); 748EXPORT_SYMBOL(mpage_writepages);
758EXPORT_SYMBOL(__mpage_writepages);
759 749
760int mpage_writepage(struct page *page, get_block_t get_block, 750int mpage_writepage(struct page *page, get_block_t get_block,
761 struct writeback_control *wbc) 751 struct writeback_control *wbc)