Lines Matching refs:mapping
85 struct address_space *mapping; in isolate_movable_page() local
123 mapping = page_mapping(page); in isolate_movable_page()
124 VM_BUG_ON_PAGE(!mapping, page); in isolate_movable_page()
126 if (!mapping->a_ops->isolate_page(page, mode)) in isolate_movable_page()
147 struct address_space *mapping; in putback_movable_page() local
153 mapping = page_mapping(page); in putback_movable_page()
154 mapping->a_ops->putback_page(page); in putback_movable_page()
436 int migrate_page_move_mapping(struct address_space *mapping, in migrate_page_move_mapping() argument
453 if (!mapping) { in migrate_page_move_mapping()
460 newpage->mapping = page->mapping; in migrate_page_move_mapping()
470 spin_lock_irq(&mapping->tree_lock); in migrate_page_move_mapping()
472 pslot = radix_tree_lookup_slot(&mapping->page_tree, in migrate_page_move_mapping()
477 radix_tree_deref_slot_protected(pslot, &mapping->tree_lock) != page) { in migrate_page_move_mapping()
478 spin_unlock_irq(&mapping->tree_lock); in migrate_page_move_mapping()
483 spin_unlock_irq(&mapping->tree_lock); in migrate_page_move_mapping()
497 spin_unlock_irq(&mapping->tree_lock); in migrate_page_move_mapping()
506 newpage->mapping = page->mapping; in migrate_page_move_mapping()
525 radix_tree_replace_slot(&mapping->page_tree, pslot, newpage); in migrate_page_move_mapping()
534 spin_unlock(&mapping->tree_lock); in migrate_page_move_mapping()
554 if (dirty && mapping_cap_account_dirty(mapping)) { in migrate_page_move_mapping()
571 int migrate_huge_page_move_mapping(struct address_space *mapping, in migrate_huge_page_move_mapping() argument
577 spin_lock_irq(&mapping->tree_lock); in migrate_huge_page_move_mapping()
579 pslot = radix_tree_lookup_slot(&mapping->page_tree, in migrate_huge_page_move_mapping()
584 radix_tree_deref_slot_protected(pslot, &mapping->tree_lock) != page) { in migrate_huge_page_move_mapping()
585 spin_unlock_irq(&mapping->tree_lock); in migrate_huge_page_move_mapping()
590 spin_unlock_irq(&mapping->tree_lock); in migrate_huge_page_move_mapping()
595 newpage->mapping = page->mapping; in migrate_huge_page_move_mapping()
599 radix_tree_replace_slot(&mapping->page_tree, pslot, newpage); in migrate_huge_page_move_mapping()
603 spin_unlock_irq(&mapping->tree_lock); in migrate_huge_page_move_mapping()
741 int migrate_page(struct address_space *mapping, in migrate_page() argument
749 rc = migrate_page_move_mapping(mapping, newpage, page, NULL, mode, 0); in migrate_page()
768 int buffer_migrate_page(struct address_space *mapping, in buffer_migrate_page() argument
775 return migrate_page(mapping, newpage, page, mode); in buffer_migrate_page()
779 rc = migrate_page_move_mapping(mapping, newpage, page, head, mode, 0); in buffer_migrate_page()
828 static int writeout(struct address_space *mapping, struct page *page) in writeout() argument
839 if (!mapping->a_ops->writepage) in writeout()
857 rc = mapping->a_ops->writepage(page, &wbc); in writeout()
869 static int fallback_migrate_page(struct address_space *mapping, in fallback_migrate_page() argument
881 return writeout(mapping, page); in fallback_migrate_page()
892 return migrate_page(mapping, newpage, page, mode); in fallback_migrate_page()
909 struct address_space *mapping; in move_to_new_page() local
916 mapping = page_mapping(page); in move_to_new_page()
919 if (!mapping) in move_to_new_page()
920 rc = migrate_page(mapping, newpage, page, mode); in move_to_new_page()
921 else if (mapping->a_ops->migratepage) in move_to_new_page()
929 rc = mapping->a_ops->migratepage(mapping, newpage, in move_to_new_page()
932 rc = fallback_migrate_page(mapping, newpage, in move_to_new_page()
946 rc = mapping->a_ops->migratepage(mapping, newpage, in move_to_new_page()
973 page->mapping = NULL; in move_to_new_page()
1082 if (!page->mapping) { in __unmap_and_move()
2064 new_page->mapping = page->mapping; in migrate_misplaced_transhuge_page()
2302 if (!page || !page->mapping || PageTransCompound(page)) { in migrate_vma_collect_pmd()
2780 struct address_space *mapping; in migrate_vma_pages() local
2805 mapping = page_mapping(page); in migrate_vma_pages()
2813 if (mapping) { in migrate_vma_pages()
2827 r = migrate_page(mapping, newpage, page, MIGRATE_SYNC_NO_COPY); in migrate_vma_pages()