Lines Matching refs:mapping
87 struct address_space *mapping; in isolate_movable_page() local
125 mapping = page_mapping(page); in isolate_movable_page()
126 VM_BUG_ON_PAGE(!mapping, page); in isolate_movable_page()
128 if (!mapping->a_ops->isolate_page(page, mode)) in isolate_movable_page()
149 struct address_space *mapping; in putback_movable_page() local
155 mapping = page_mapping(page); in putback_movable_page()
156 mapping->a_ops->putback_page(page); in putback_movable_page()
374 static int expected_page_refs(struct address_space *mapping, struct page *page) in expected_page_refs() argument
383 if (mapping) in expected_page_refs()
397 int migrate_page_move_mapping(struct address_space *mapping, in migrate_page_move_mapping() argument
400 XA_STATE(xas, &mapping->i_pages, page_index(page)); in migrate_page_move_mapping()
403 int expected_count = expected_page_refs(mapping, page) + extra_count; in migrate_page_move_mapping()
405 if (!mapping) { in migrate_page_move_mapping()
412 newpage->mapping = page->mapping; in migrate_page_move_mapping()
438 newpage->mapping = page->mapping; in migrate_page_move_mapping()
494 if (dirty && mapping_cap_account_dirty(mapping)) { in migrate_page_move_mapping()
511 int migrate_huge_page_move_mapping(struct address_space *mapping, in migrate_huge_page_move_mapping() argument
514 XA_STATE(xas, &mapping->i_pages, page_index(page)); in migrate_huge_page_move_mapping()
530 newpage->mapping = page->mapping; in migrate_huge_page_move_mapping()
676 int migrate_page(struct address_space *mapping, in migrate_page() argument
684 rc = migrate_page_move_mapping(mapping, newpage, page, 0); in migrate_page()
736 static int __buffer_migrate_page(struct address_space *mapping, in __buffer_migrate_page() argument
745 return migrate_page(mapping, newpage, page, mode); in __buffer_migrate_page()
748 expected_count = expected_page_refs(mapping, page); in __buffer_migrate_page()
762 spin_lock(&mapping->private_lock); in __buffer_migrate_page()
776 spin_unlock(&mapping->private_lock); in __buffer_migrate_page()
783 rc = migrate_page_move_mapping(mapping, newpage, page, 0); in __buffer_migrate_page()
810 spin_unlock(&mapping->private_lock); in __buffer_migrate_page()
826 int buffer_migrate_page(struct address_space *mapping, in buffer_migrate_page() argument
829 return __buffer_migrate_page(mapping, newpage, page, mode, false); in buffer_migrate_page()
839 int buffer_migrate_page_norefs(struct address_space *mapping, in buffer_migrate_page_norefs() argument
842 return __buffer_migrate_page(mapping, newpage, page, mode, true); in buffer_migrate_page_norefs()
849 static int writeout(struct address_space *mapping, struct page *page) in writeout() argument
860 if (!mapping->a_ops->writepage) in writeout()
878 rc = mapping->a_ops->writepage(page, &wbc); in writeout()
890 static int fallback_migrate_page(struct address_space *mapping, in fallback_migrate_page() argument
902 return writeout(mapping, page); in fallback_migrate_page()
913 return migrate_page(mapping, newpage, page, mode); in fallback_migrate_page()
930 struct address_space *mapping; in move_to_new_page() local
937 mapping = page_mapping(page); in move_to_new_page()
940 if (!mapping) in move_to_new_page()
941 rc = migrate_page(mapping, newpage, page, mode); in move_to_new_page()
942 else if (mapping->a_ops->migratepage) in move_to_new_page()
950 rc = mapping->a_ops->migratepage(mapping, newpage, in move_to_new_page()
953 rc = fallback_migrate_page(mapping, newpage, in move_to_new_page()
967 rc = mapping->a_ops->migratepage(mapping, newpage, in move_to_new_page()
994 page->mapping = NULL; in move_to_new_page()
1100 if (!page->mapping) { in __unmap_and_move()
2035 new_page->mapping = page->mapping; in migrate_misplaced_transhuge_page()
2269 if (!page || !page->mapping || PageTransCompound(page)) { in migrate_vma_collect_pmd()
2832 struct address_space *mapping; in migrate_vma_pages() local
2860 mapping = page_mapping(page); in migrate_vma_pages()
2868 if (mapping) { in migrate_vma_pages()
2882 r = migrate_page(mapping, newpage, page, MIGRATE_SYNC_NO_COPY); in migrate_vma_pages()