diff options
Diffstat (limited to 'mm/page-writeback.c')
-rw-r--r-- | mm/page-writeback.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/mm/page-writeback.c b/mm/page-writeback.c index b2529f8f8be0..1965d05a29cc 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c | |||
@@ -490,9 +490,6 @@ static void balance_dirty_pages(struct address_space *mapping, | |||
490 | bool dirty_exceeded = false; | 490 | bool dirty_exceeded = false; |
491 | struct backing_dev_info *bdi = mapping->backing_dev_info; | 491 | struct backing_dev_info *bdi = mapping->backing_dev_info; |
492 | 492 | ||
493 | if (!bdi_cap_account_dirty(bdi)) | ||
494 | return; | ||
495 | |||
496 | for (;;) { | 493 | for (;;) { |
497 | struct writeback_control wbc = { | 494 | struct writeback_control wbc = { |
498 | .sync_mode = WB_SYNC_NONE, | 495 | .sync_mode = WB_SYNC_NONE, |
@@ -631,9 +628,13 @@ static DEFINE_PER_CPU(unsigned long, bdp_ratelimits) = 0; | |||
631 | void balance_dirty_pages_ratelimited_nr(struct address_space *mapping, | 628 | void balance_dirty_pages_ratelimited_nr(struct address_space *mapping, |
632 | unsigned long nr_pages_dirtied) | 629 | unsigned long nr_pages_dirtied) |
633 | { | 630 | { |
631 | struct backing_dev_info *bdi = mapping->backing_dev_info; | ||
634 | unsigned long ratelimit; | 632 | unsigned long ratelimit; |
635 | unsigned long *p; | 633 | unsigned long *p; |
636 | 634 | ||
635 | if (!bdi_cap_account_dirty(bdi)) | ||
636 | return; | ||
637 | |||
637 | ratelimit = ratelimit_pages; | 638 | ratelimit = ratelimit_pages; |
638 | if (mapping->backing_dev_info->dirty_exceeded) | 639 | if (mapping->backing_dev_info->dirty_exceeded) |
639 | ratelimit = 8; | 640 | ratelimit = 8; |