aboutsummaryrefslogtreecommitdiffstats
path: root/mm/page-writeback.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/page-writeback.c')
-rw-r--r--mm/page-writeback.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 0faacfe1890..da854783009 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -109,7 +109,7 @@ struct writeback_state
109 109
110static void get_writeback_state(struct writeback_state *wbs) 110static void get_writeback_state(struct writeback_state *wbs)
111{ 111{
112 wbs->nr_dirty = read_page_state(nr_dirty); 112 wbs->nr_dirty = global_page_state(NR_FILE_DIRTY);
113 wbs->nr_unstable = read_page_state(nr_unstable); 113 wbs->nr_unstable = read_page_state(nr_unstable);
114 wbs->nr_mapped = global_page_state(NR_FILE_MAPPED) + 114 wbs->nr_mapped = global_page_state(NR_FILE_MAPPED) +
115 global_page_state(NR_ANON_PAGES); 115 global_page_state(NR_ANON_PAGES);
@@ -641,7 +641,8 @@ int __set_page_dirty_nobuffers(struct page *page)
641 if (mapping2) { /* Race with truncate? */ 641 if (mapping2) { /* Race with truncate? */
642 BUG_ON(mapping2 != mapping); 642 BUG_ON(mapping2 != mapping);
643 if (mapping_cap_account_dirty(mapping)) 643 if (mapping_cap_account_dirty(mapping))
644 inc_page_state(nr_dirty); 644 __inc_zone_page_state(page,
645 NR_FILE_DIRTY);
645 radix_tree_tag_set(&mapping->page_tree, 646 radix_tree_tag_set(&mapping->page_tree,
646 page_index(page), PAGECACHE_TAG_DIRTY); 647 page_index(page), PAGECACHE_TAG_DIRTY);
647 } 648 }
@@ -728,9 +729,9 @@ int test_clear_page_dirty(struct page *page)
728 radix_tree_tag_clear(&mapping->page_tree, 729 radix_tree_tag_clear(&mapping->page_tree,
729 page_index(page), 730 page_index(page),
730 PAGECACHE_TAG_DIRTY); 731 PAGECACHE_TAG_DIRTY);
731 write_unlock_irqrestore(&mapping->tree_lock, flags);
732 if (mapping_cap_account_dirty(mapping)) 732 if (mapping_cap_account_dirty(mapping))
733 dec_page_state(nr_dirty); 733 __dec_zone_page_state(page, NR_FILE_DIRTY);
734 write_unlock_irqrestore(&mapping->tree_lock, flags);
734 return 1; 735 return 1;
735 } 736 }
736 write_unlock_irqrestore(&mapping->tree_lock, flags); 737 write_unlock_irqrestore(&mapping->tree_lock, flags);
@@ -761,7 +762,7 @@ int clear_page_dirty_for_io(struct page *page)
761 if (mapping) { 762 if (mapping) {
762 if (TestClearPageDirty(page)) { 763 if (TestClearPageDirty(page)) {
763 if (mapping_cap_account_dirty(mapping)) 764 if (mapping_cap_account_dirty(mapping))
764 dec_page_state(nr_dirty); 765 dec_zone_page_state(page, NR_FILE_DIRTY);
765 return 1; 766 return 1;
766 } 767 }
767 return 0; 768 return 0;