Lines Matching refs:mapping
308 int migrate_page_move_mapping(struct address_space *mapping, in migrate_page_move_mapping() argument
316 if (!mapping) { in migrate_page_move_mapping()
323 spin_lock_irq(&mapping->tree_lock); in migrate_page_move_mapping()
325 pslot = radix_tree_lookup_slot(&mapping->page_tree, in migrate_page_move_mapping()
330 radix_tree_deref_slot_protected(pslot, &mapping->tree_lock) != page) { in migrate_page_move_mapping()
331 spin_unlock_irq(&mapping->tree_lock); in migrate_page_move_mapping()
336 spin_unlock_irq(&mapping->tree_lock); in migrate_page_move_mapping()
350 spin_unlock_irq(&mapping->tree_lock); in migrate_page_move_mapping()
388 spin_unlock_irq(&mapping->tree_lock); in migrate_page_move_mapping()
397 int migrate_huge_page_move_mapping(struct address_space *mapping, in migrate_huge_page_move_mapping() argument
403 if (!mapping) { in migrate_huge_page_move_mapping()
409 spin_lock_irq(&mapping->tree_lock); in migrate_huge_page_move_mapping()
411 pslot = radix_tree_lookup_slot(&mapping->page_tree, in migrate_huge_page_move_mapping()
416 radix_tree_deref_slot_protected(pslot, &mapping->tree_lock) != page) { in migrate_huge_page_move_mapping()
417 spin_unlock_irq(&mapping->tree_lock); in migrate_huge_page_move_mapping()
422 spin_unlock_irq(&mapping->tree_lock); in migrate_huge_page_move_mapping()
432 spin_unlock_irq(&mapping->tree_lock); in migrate_huge_page_move_mapping()
563 int migrate_page(struct address_space *mapping, in migrate_page() argument
571 rc = migrate_page_move_mapping(mapping, newpage, page, NULL, mode, 0); in migrate_page()
587 int buffer_migrate_page(struct address_space *mapping, in buffer_migrate_page() argument
594 return migrate_page(mapping, newpage, page, mode); in buffer_migrate_page()
598 rc = migrate_page_move_mapping(mapping, newpage, page, head, mode, 0); in buffer_migrate_page()
644 static int writeout(struct address_space *mapping, struct page *page) in writeout() argument
655 if (!mapping->a_ops->writepage) in writeout()
673 rc = mapping->a_ops->writepage(page, &wbc); in writeout()
685 static int fallback_migrate_page(struct address_space *mapping, in fallback_migrate_page() argument
692 return writeout(mapping, page); in fallback_migrate_page()
703 return migrate_page(mapping, newpage, page, mode); in fallback_migrate_page()
720 struct address_space *mapping; in move_to_new_page() local
733 newpage->mapping = page->mapping; in move_to_new_page()
737 mapping = page_mapping(page); in move_to_new_page()
738 if (!mapping) in move_to_new_page()
739 rc = migrate_page(mapping, newpage, page, mode); in move_to_new_page()
740 else if (mapping->a_ops->migratepage) in move_to_new_page()
747 rc = mapping->a_ops->migratepage(mapping, in move_to_new_page()
750 rc = fallback_migrate_page(mapping, newpage, page, mode); in move_to_new_page()
753 newpage->mapping = NULL; in move_to_new_page()
758 page->mapping = NULL; in move_to_new_page()
871 if (!page->mapping) { in __unmap_and_move()
1759 new_page->mapping = page->mapping; in migrate_misplaced_transhuge_page()