diff --git a/[refs] b/[refs] index 8e3519f6b19d..dce7bd2c61ea 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 167400d34070ebbc408dc0f447c4ddb4bf837360 +refs/heads/master: 9b6096a65f99a89dfd8328c4e469e7b53b3ae04a diff --git a/trunk/mm/page-writeback.c b/trunk/mm/page-writeback.c index cc0ede169e41..24b7ac2bc36b 100644 --- a/trunk/mm/page-writeback.c +++ b/trunk/mm/page-writeback.c @@ -1039,11 +1039,17 @@ static int __writepage(struct page *page, struct writeback_control *wbc, int generic_writepages(struct address_space *mapping, struct writeback_control *wbc) { + struct blk_plug plug; + int ret; + /* deal with chardevs and other special file */ if (!mapping->a_ops->writepage) return 0; - return write_cache_pages(mapping, wbc, __writepage, mapping); + blk_start_plug(&plug); + ret = write_cache_pages(mapping, wbc, __writepage, mapping); + blk_finish_plug(&plug); + return ret; } EXPORT_SYMBOL(generic_writepages);