Lines Matching defs:mapping
160 * __PageMovable because LRU folio's mapping cannot have
378 static int folio_expected_refs(struct address_space *mapping,
382 if (!mapping)
393 * Replace the page in the mapping.
396 * 1 for anonymous pages without a mapping
397 * 2 for pages with a mapping
398 * 3 for pages with a mapping and PagePrivate/PagePrivate2 set.
400 int folio_migrate_mapping(struct address_space *mapping,
403 XA_STATE(xas, &mapping->i_pages, folio_index(folio));
406 int expected_count = folio_expected_refs(mapping, folio) + extra_count;
410 if (!mapping) {
411 /* Anonymous page without mapping */
417 newfolio->mapping = folio->mapping;
438 newfolio->mapping = folio->mapping;
510 if (dirty && mapping_can_writeback(mapping)) {
527 int migrate_huge_page_move_mapping(struct address_space *mapping,
530 XA_STATE(xas, &mapping->i_pages, folio_index(src));
541 dst->mapping = src->mapping;
659 int migrate_folio_extra(struct address_space *mapping, struct folio *dst,
666 rc = folio_migrate_mapping(mapping, dst, src, extra_count);
680 * @mapping: The address_space containing the folio.
690 int migrate_folio(struct address_space *mapping, struct folio *dst,
693 return migrate_folio_extra(mapping, dst, src, mode, 0);
731 static int __buffer_migrate_folio(struct address_space *mapping,
741 return migrate_folio(mapping, dst, src, mode);
744 expected_count = folio_expected_refs(mapping, src);
757 spin_lock(&mapping->private_lock);
771 spin_unlock(&mapping->private_lock);
778 rc = folio_migrate_mapping(mapping, dst, src, 0);
798 spin_unlock(&mapping->private_lock);
810 * @mapping: The address space containing @src.
823 int buffer_migrate_folio(struct address_space *mapping,
826 return __buffer_migrate_folio(mapping, dst, src, mode, false);
832 * @mapping: The address space containing @src.
844 int buffer_migrate_folio_norefs(struct address_space *mapping,
847 return __buffer_migrate_folio(mapping, dst, src, mode, true);
852 int filemap_migrate_folio(struct address_space *mapping,
857 ret = folio_migrate_mapping(mapping, dst, src, 0);
875 static int writeout(struct address_space *mapping, struct folio *folio)
886 if (!mapping->a_ops->writepage)
904 rc = mapping->a_ops->writepage(&folio->page, &wbc);
916 static int fallback_migrate_folio(struct address_space *mapping,
928 return writeout(mapping, src);
938 return migrate_folio(mapping, dst, src, mode);
962 struct address_space *mapping = folio_mapping(src);
964 if (!mapping)
965 rc = migrate_folio(mapping, dst, src, mode);
966 else if (mapping->a_ops->migrate_folio)
968 * Most folios have a mapping and most filesystems
974 rc = mapping->a_ops->migrate_folio(mapping, dst, src,
977 rc = fallback_migrate_folio(mapping, dst, src, mode);
999 * When successful, old pagecache src->mapping must be cleared before
1014 * Anonymous and movable src->mapping will be cleared by
1019 src->mapping = NULL;
1226 * Calling try_to_unmap() against a src->mapping==NULL page will
1234 if (!src->mapping) {
1373 struct address_space *mapping = NULL;
1424 mapping = hugetlb_page_mapping_lock_write(&src->page);
1425 if (unlikely(!mapping))
1435 i_mmap_unlock_write(mapping);