diff --git a/[refs] b/[refs] index 653e0191fb06..003e1d4fe88a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f6f96fdb8c2779f9bd8ed7b0b08405b4439c982b +refs/heads/master: 1bce63d1a2a2c8929442b79acd4eab2e3db10a0b diff --git a/trunk/fs/ext4/inode.c b/trunk/fs/ext4/inode.c index 4863238c3754..081bb25a9ad3 100644 --- a/trunk/fs/ext4/inode.c +++ b/trunk/fs/ext4/inode.c @@ -2160,6 +2160,7 @@ static int ext4_da_writepages(struct address_space *mapping, struct ext4_sb_info *sbi = EXT4_SB(mapping->host->i_sb); pgoff_t done_index = 0; pgoff_t end; + struct blk_plug plug; trace_ext4_da_writepages(inode, wbc); @@ -2238,6 +2239,7 @@ static int ext4_da_writepages(struct address_space *mapping, if (wbc->sync_mode == WB_SYNC_ALL || wbc->tagged_writepages) tag_pages_for_writeback(mapping, index, end); + blk_start_plug(&plug); while (!ret && wbc->nr_to_write > 0) { /* @@ -2302,6 +2304,7 @@ static int ext4_da_writepages(struct address_space *mapping, */ break; } + blk_finish_plug(&plug); if (!io_done && !cycled) { cycled = 1; index = 0;