diff options
Diffstat (limited to 'fs/fs-writeback.c')
-rw-r--r-- | fs/fs-writeback.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 73acab4dc2b7..bf10cbf379dd 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c | |||
@@ -656,10 +656,14 @@ static long wb_writeback(struct bdi_writeback *wb, | |||
656 | wbc.more_io = 0; | 656 | wbc.more_io = 0; |
657 | wbc.nr_to_write = MAX_WRITEBACK_PAGES; | 657 | wbc.nr_to_write = MAX_WRITEBACK_PAGES; |
658 | wbc.pages_skipped = 0; | 658 | wbc.pages_skipped = 0; |
659 | |||
660 | trace_wbc_writeback_start(&wbc, wb->bdi); | ||
659 | if (work->sb) | 661 | if (work->sb) |
660 | __writeback_inodes_sb(work->sb, wb, &wbc); | 662 | __writeback_inodes_sb(work->sb, wb, &wbc); |
661 | else | 663 | else |
662 | writeback_inodes_wb(wb, &wbc); | 664 | writeback_inodes_wb(wb, &wbc); |
665 | trace_wbc_writeback_written(&wbc, wb->bdi); | ||
666 | |||
663 | work->nr_pages -= MAX_WRITEBACK_PAGES - wbc.nr_to_write; | 667 | work->nr_pages -= MAX_WRITEBACK_PAGES - wbc.nr_to_write; |
664 | wrote += MAX_WRITEBACK_PAGES - wbc.nr_to_write; | 668 | wrote += MAX_WRITEBACK_PAGES - wbc.nr_to_write; |
665 | 669 | ||
@@ -687,6 +691,7 @@ static long wb_writeback(struct bdi_writeback *wb, | |||
687 | if (!list_empty(&wb->b_more_io)) { | 691 | if (!list_empty(&wb->b_more_io)) { |
688 | inode = list_entry(wb->b_more_io.prev, | 692 | inode = list_entry(wb->b_more_io.prev, |
689 | struct inode, i_list); | 693 | struct inode, i_list); |
694 | trace_wbc_writeback_wait(&wbc, wb->bdi); | ||
690 | inode_wait_for_writeback(inode); | 695 | inode_wait_for_writeback(inode); |
691 | } | 696 | } |
692 | spin_unlock(&inode_lock); | 697 | spin_unlock(&inode_lock); |