Lines Matching refs:page
2193 struct page *page = pvec.pages[i]; in write_cache_pages() local
2202 if (page->index > end) { in write_cache_pages()
2211 done_index = page->index; in write_cache_pages()
2213 lock_page(page); in write_cache_pages()
2223 if (unlikely(page->mapping != mapping)) { in write_cache_pages()
2225 unlock_page(page); in write_cache_pages()
2229 if (!PageDirty(page)) { in write_cache_pages()
2234 if (PageWriteback(page)) { in write_cache_pages()
2236 wait_on_page_writeback(page); in write_cache_pages()
2241 BUG_ON(PageWriteback(page)); in write_cache_pages()
2242 if (!clear_page_dirty_for_io(page)) in write_cache_pages()
2246 ret = (*writepage)(page, wbc, data); in write_cache_pages()
2249 unlock_page(page); in write_cache_pages()
2261 done_index = page->index + 1; in write_cache_pages()
2304 static int __writepage(struct page *page, struct writeback_control *wbc, in __writepage() argument
2308 int ret = mapping->a_ops->writepage(page, wbc); in __writepage()
2361 int write_one_page(struct page *page, int wait) in write_one_page() argument
2363 struct address_space *mapping = page->mapping; in write_one_page()
2370 BUG_ON(!PageLocked(page)); in write_one_page()
2373 wait_on_page_writeback(page); in write_one_page()
2375 if (clear_page_dirty_for_io(page)) { in write_one_page()
2376 page_cache_get(page); in write_one_page()
2377 ret = mapping->a_ops->writepage(page, &wbc); in write_one_page()
2379 wait_on_page_writeback(page); in write_one_page()
2380 if (PageError(page)) in write_one_page()
2383 page_cache_release(page); in write_one_page()
2385 unlock_page(page); in write_one_page()
2394 int __set_page_dirty_no_writeback(struct page *page) in __set_page_dirty_no_writeback() argument
2396 if (!PageDirty(page)) in __set_page_dirty_no_writeback()
2397 return !TestSetPageDirty(page); in __set_page_dirty_no_writeback()
2408 void account_page_dirtied(struct page *page, struct address_space *mapping, in account_page_dirtied() argument
2413 trace_writeback_dirty_page(page, mapping); in account_page_dirtied()
2418 inode_attach_wb(inode, page); in account_page_dirtied()
2422 __inc_zone_page_state(page, NR_FILE_DIRTY); in account_page_dirtied()
2423 __inc_zone_page_state(page, NR_DIRTIED); in account_page_dirtied()
2438 void account_page_cleaned(struct page *page, struct address_space *mapping, in account_page_cleaned() argument
2443 dec_zone_page_state(page, NR_FILE_DIRTY); in account_page_cleaned()
2461 int __set_page_dirty_nobuffers(struct page *page) in __set_page_dirty_nobuffers() argument
2465 memcg = mem_cgroup_begin_page_stat(page); in __set_page_dirty_nobuffers()
2466 if (!TestSetPageDirty(page)) { in __set_page_dirty_nobuffers()
2467 struct address_space *mapping = page_mapping(page); in __set_page_dirty_nobuffers()
2476 BUG_ON(page_mapping(page) != mapping); in __set_page_dirty_nobuffers()
2477 WARN_ON_ONCE(!PagePrivate(page) && !PageUptodate(page)); in __set_page_dirty_nobuffers()
2478 account_page_dirtied(page, mapping, memcg); in __set_page_dirty_nobuffers()
2479 radix_tree_tag_set(&mapping->page_tree, page_index(page), in __set_page_dirty_nobuffers()
2502 void account_page_redirty(struct page *page) in account_page_redirty() argument
2504 struct address_space *mapping = page->mapping; in account_page_redirty()
2513 dec_zone_page_state(page, NR_DIRTIED); in account_page_redirty()
2525 int redirty_page_for_writepage(struct writeback_control *wbc, struct page *page) in redirty_page_for_writepage() argument
2530 ret = __set_page_dirty_nobuffers(page); in redirty_page_for_writepage()
2531 account_page_redirty(page); in redirty_page_for_writepage()
2547 int set_page_dirty(struct page *page) in set_page_dirty() argument
2549 struct address_space *mapping = page_mapping(page); in set_page_dirty()
2552 int (*spd)(struct page *) = mapping->a_ops->set_page_dirty; in set_page_dirty()
2563 if (PageReclaim(page)) in set_page_dirty()
2564 ClearPageReclaim(page); in set_page_dirty()
2569 return (*spd)(page); in set_page_dirty()
2571 if (!PageDirty(page)) { in set_page_dirty()
2572 if (!TestSetPageDirty(page)) in set_page_dirty()
2589 int set_page_dirty_lock(struct page *page) in set_page_dirty_lock() argument
2593 lock_page(page); in set_page_dirty_lock()
2594 ret = set_page_dirty(page); in set_page_dirty_lock()
2595 unlock_page(page); in set_page_dirty_lock()
2613 void cancel_dirty_page(struct page *page) in cancel_dirty_page() argument
2615 struct address_space *mapping = page_mapping(page); in cancel_dirty_page()
2623 memcg = mem_cgroup_begin_page_stat(page); in cancel_dirty_page()
2626 if (TestClearPageDirty(page)) in cancel_dirty_page()
2627 account_page_cleaned(page, mapping, memcg, wb); in cancel_dirty_page()
2632 ClearPageDirty(page); in cancel_dirty_page()
2651 int clear_page_dirty_for_io(struct page *page) in clear_page_dirty_for_io() argument
2653 struct address_space *mapping = page_mapping(page); in clear_page_dirty_for_io()
2656 BUG_ON(!PageLocked(page)); in clear_page_dirty_for_io()
2689 if (page_mkclean(page)) in clear_page_dirty_for_io()
2690 set_page_dirty(page); in clear_page_dirty_for_io()
2699 memcg = mem_cgroup_begin_page_stat(page); in clear_page_dirty_for_io()
2701 if (TestClearPageDirty(page)) { in clear_page_dirty_for_io()
2703 dec_zone_page_state(page, NR_FILE_DIRTY); in clear_page_dirty_for_io()
2711 return TestClearPageDirty(page); in clear_page_dirty_for_io()
2715 int test_clear_page_writeback(struct page *page) in test_clear_page_writeback() argument
2717 struct address_space *mapping = page_mapping(page); in test_clear_page_writeback()
2721 memcg = mem_cgroup_begin_page_stat(page); in test_clear_page_writeback()
2728 ret = TestClearPageWriteback(page); in test_clear_page_writeback()
2731 page_index(page), in test_clear_page_writeback()
2742 ret = TestClearPageWriteback(page); in test_clear_page_writeback()
2746 dec_zone_page_state(page, NR_WRITEBACK); in test_clear_page_writeback()
2747 inc_zone_page_state(page, NR_WRITTEN); in test_clear_page_writeback()
2753 int __test_set_page_writeback(struct page *page, bool keep_write) in __test_set_page_writeback() argument
2755 struct address_space *mapping = page_mapping(page); in __test_set_page_writeback()
2759 memcg = mem_cgroup_begin_page_stat(page); in __test_set_page_writeback()
2766 ret = TestSetPageWriteback(page); in __test_set_page_writeback()
2769 page_index(page), in __test_set_page_writeback()
2774 if (!PageDirty(page)) in __test_set_page_writeback()
2776 page_index(page), in __test_set_page_writeback()
2780 page_index(page), in __test_set_page_writeback()
2784 ret = TestSetPageWriteback(page); in __test_set_page_writeback()
2788 inc_zone_page_state(page, NR_WRITEBACK); in __test_set_page_writeback()
2814 void wait_for_stable_page(struct page *page) in wait_for_stable_page() argument
2816 if (bdi_cap_stable_pages_required(inode_to_bdi(page->mapping->host))) in wait_for_stable_page()
2817 wait_on_page_writeback(page); in wait_for_stable_page()