diff options
Diffstat (limited to 'fs/fs-writeback.c')
| -rw-r--r-- | fs/fs-writeback.c | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index ab38fef1c9a1..9e46aec10d1a 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c | |||
| @@ -582,7 +582,7 @@ static inline bool over_bground_thresh(void) | |||
| 582 | global_dirty_limits(&background_thresh, &dirty_thresh); | 582 | global_dirty_limits(&background_thresh, &dirty_thresh); | 
| 583 | 583 | ||
| 584 | return (global_page_state(NR_FILE_DIRTY) + | 584 | return (global_page_state(NR_FILE_DIRTY) + | 
| 585 | global_page_state(NR_UNSTABLE_NFS) >= background_thresh); | 585 | global_page_state(NR_UNSTABLE_NFS) > background_thresh); | 
| 586 | } | 586 | } | 
| 587 | 587 | ||
| 588 | /* | 588 | /* | 
| @@ -721,6 +721,10 @@ static long wb_check_old_data_flush(struct bdi_writeback *wb) | |||
| 721 | return 0; | 721 | return 0; | 
| 722 | 722 | ||
| 723 | wb->last_old_flush = jiffies; | 723 | wb->last_old_flush = jiffies; | 
| 724 | /* | ||
| 725 | * Add in the number of potentially dirty inodes, because each inode | ||
| 726 | * write can dirty pagecache in the underlying blockdev. | ||
| 727 | */ | ||
| 724 | nr_pages = global_page_state(NR_FILE_DIRTY) + | 728 | nr_pages = global_page_state(NR_FILE_DIRTY) + | 
| 725 | global_page_state(NR_UNSTABLE_NFS) + | 729 | global_page_state(NR_UNSTABLE_NFS) + | 
| 726 | (inodes_stat.nr_inodes - inodes_stat.nr_unused); | 730 | (inodes_stat.nr_inodes - inodes_stat.nr_unused); | 
| @@ -790,7 +794,7 @@ int bdi_writeback_thread(void *data) | |||
| 790 | struct backing_dev_info *bdi = wb->bdi; | 794 | struct backing_dev_info *bdi = wb->bdi; | 
| 791 | long pages_written; | 795 | long pages_written; | 
| 792 | 796 | ||
| 793 | current->flags |= PF_FLUSHER | PF_SWAPWRITE; | 797 | current->flags |= PF_SWAPWRITE; | 
| 794 | set_freezable(); | 798 | set_freezable(); | 
| 795 | wb->last_active = jiffies; | 799 | wb->last_active = jiffies; | 
| 796 | 800 | ||
