diff options
Diffstat (limited to 'fs/ext4/inode.c')
-rw-r--r-- | fs/ext4/inode.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 4863238c3754..081bb25a9ad3 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c | |||
@@ -2160,6 +2160,7 @@ static int ext4_da_writepages(struct address_space *mapping, | |||
2160 | struct ext4_sb_info *sbi = EXT4_SB(mapping->host->i_sb); | 2160 | struct ext4_sb_info *sbi = EXT4_SB(mapping->host->i_sb); |
2161 | pgoff_t done_index = 0; | 2161 | pgoff_t done_index = 0; |
2162 | pgoff_t end; | 2162 | pgoff_t end; |
2163 | struct blk_plug plug; | ||
2163 | 2164 | ||
2164 | trace_ext4_da_writepages(inode, wbc); | 2165 | trace_ext4_da_writepages(inode, wbc); |
2165 | 2166 | ||
@@ -2238,6 +2239,7 @@ retry: | |||
2238 | if (wbc->sync_mode == WB_SYNC_ALL || wbc->tagged_writepages) | 2239 | if (wbc->sync_mode == WB_SYNC_ALL || wbc->tagged_writepages) |
2239 | tag_pages_for_writeback(mapping, index, end); | 2240 | tag_pages_for_writeback(mapping, index, end); |
2240 | 2241 | ||
2242 | blk_start_plug(&plug); | ||
2241 | while (!ret && wbc->nr_to_write > 0) { | 2243 | while (!ret && wbc->nr_to_write > 0) { |
2242 | 2244 | ||
2243 | /* | 2245 | /* |
@@ -2302,6 +2304,7 @@ retry: | |||
2302 | */ | 2304 | */ |
2303 | break; | 2305 | break; |
2304 | } | 2306 | } |
2307 | blk_finish_plug(&plug); | ||
2305 | if (!io_done && !cycled) { | 2308 | if (!io_done && !cycled) { |
2306 | cycled = 1; | 2309 | cycled = 1; |
2307 | index = 0; | 2310 | index = 0; |