[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>
This commit is contained in:
committed by
Linus Torvalds
parent
ecffdde68e
commit
d17d7fa44d
12
fs/mpage.c
12
fs/mpage.c
@@ -626,15 +626,6 @@ out:
|
||||
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;
|
||||
@@ -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)
|
||||
|
Reference in New Issue
Block a user