aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/fs-writeback.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index fe190a8b0bc8..e4504299f4a5 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -464,6 +464,7 @@ writeback_single_inode(struct inode *inode, struct writeback_control *wbc)
464 * No need to add it back to the LRU. 464 * No need to add it back to the LRU.
465 */ 465 */
466 list_del_init(&inode->i_wb_list); 466 list_del_init(&inode->i_wb_list);
467 wbc->inodes_written++;
467 } 468 }
468 } 469 }
469 inode_sync_complete(inode); 470 inode_sync_complete(inode);
@@ -725,6 +726,7 @@ static long wb_writeback(struct bdi_writeback *wb,
725 wbc.more_io = 0; 726 wbc.more_io = 0;
726 wbc.nr_to_write = write_chunk; 727 wbc.nr_to_write = write_chunk;
727 wbc.pages_skipped = 0; 728 wbc.pages_skipped = 0;
729 wbc.inodes_written = 0;
728 730
729 trace_wbc_writeback_start(&wbc, wb->bdi); 731 trace_wbc_writeback_start(&wbc, wb->bdi);
730 if (work->sb) 732 if (work->sb)
@@ -741,6 +743,8 @@ static long wb_writeback(struct bdi_writeback *wb,
741 */ 743 */
742 if (wbc.nr_to_write <= 0) 744 if (wbc.nr_to_write <= 0)
743 continue; 745 continue;
746 if (wbc.inodes_written)
747 continue;
744 /* 748 /*
745 * Didn't write everything and we don't have more IO, bail 749 * Didn't write everything and we don't have more IO, bail
746 */ 750 */