• Home
  • Raw
  • Download

Lines Matching refs:mapping

26 static void clear_exceptional_entry(struct address_space *mapping,  in clear_exceptional_entry()  argument
33 if (shmem_mapping(mapping)) in clear_exceptional_entry()
36 spin_lock_irq(&mapping->tree_lock); in clear_exceptional_entry()
42 if (!__radix_tree_lookup(&mapping->page_tree, index, &node, &slot)) in clear_exceptional_entry()
47 mapping->nrshadows--; in clear_exceptional_entry()
61 __radix_tree_delete_node(&mapping->page_tree, node); in clear_exceptional_entry()
63 spin_unlock_irq(&mapping->tree_lock); in clear_exceptional_entry()
86 invalidatepage = page->mapping->a_ops->invalidatepage; in do_invalidatepage()
112 struct address_space *mapping = page->mapping; in cancel_dirty_page() local
113 if (mapping && mapping_cap_account_dirty(mapping)) { in cancel_dirty_page()
115 dec_bdi_stat(mapping->backing_dev_info, in cancel_dirty_page()
135 truncate_complete_page(struct address_space *mapping, struct page *page) in truncate_complete_page() argument
137 if (page->mapping != mapping) in truncate_complete_page()
159 invalidate_complete_page(struct address_space *mapping, struct page *page) in invalidate_complete_page() argument
163 if (page->mapping != mapping) in invalidate_complete_page()
169 ret = remove_mapping(mapping, page); in invalidate_complete_page()
174 int truncate_inode_page(struct address_space *mapping, struct page *page) in truncate_inode_page() argument
177 unmap_mapping_range(mapping, in truncate_inode_page()
181 return truncate_complete_page(mapping, page); in truncate_inode_page()
187 int generic_error_remove_page(struct address_space *mapping, struct page *page) in generic_error_remove_page() argument
189 if (!mapping) in generic_error_remove_page()
195 if (!S_ISREG(mapping->host->i_mode)) in generic_error_remove_page()
197 return truncate_inode_page(mapping, page); in generic_error_remove_page()
209 struct address_space *mapping = page_mapping(page); in invalidate_inode_page() local
210 if (!mapping) in invalidate_inode_page()
216 return invalidate_complete_page(mapping, page); in invalidate_inode_page()
243 void truncate_inode_pages_range(struct address_space *mapping, in truncate_inode_pages_range() argument
255 cleancache_invalidate_inode(mapping); in truncate_inode_pages_range()
256 if (mapping->nrpages == 0 && mapping->nrshadows == 0) in truncate_inode_pages_range()
282 while (index < end && pagevec_lookup_entries(&pvec, mapping, index, in truncate_inode_pages_range()
294 clear_exceptional_entry(mapping, index, page); in truncate_inode_pages_range()
305 truncate_inode_page(mapping, page); in truncate_inode_pages_range()
315 struct page *page = find_lock_page(mapping, start - 1); in truncate_inode_pages_range()
325 cleancache_invalidate_page(mapping, page); in truncate_inode_pages_range()
334 struct page *page = find_lock_page(mapping, end); in truncate_inode_pages_range()
338 cleancache_invalidate_page(mapping, page); in truncate_inode_pages_range()
356 if (!pagevec_lookup_entries(&pvec, mapping, index, in truncate_inode_pages_range()
383 clear_exceptional_entry(mapping, index, page); in truncate_inode_pages_range()
390 truncate_inode_page(mapping, page); in truncate_inode_pages_range()
397 cleancache_invalidate_inode(mapping); in truncate_inode_pages_range()
413 void truncate_inode_pages(struct address_space *mapping, loff_t lstart) in truncate_inode_pages() argument
415 truncate_inode_pages_range(mapping, lstart, (loff_t)-1); in truncate_inode_pages()
428 void truncate_inode_pages_final(struct address_space *mapping) in truncate_inode_pages_final() argument
440 mapping_set_exiting(mapping); in truncate_inode_pages_final()
447 nrpages = mapping->nrpages; in truncate_inode_pages_final()
449 nrshadows = mapping->nrshadows; in truncate_inode_pages_final()
458 spin_lock_irq(&mapping->tree_lock); in truncate_inode_pages_final()
459 spin_unlock_irq(&mapping->tree_lock); in truncate_inode_pages_final()
461 truncate_inode_pages(mapping, 0); in truncate_inode_pages_final()
479 unsigned long invalidate_mapping_pages(struct address_space *mapping, in invalidate_mapping_pages() argument
490 while (index <= end && pagevec_lookup_entries(&pvec, mapping, index, in invalidate_mapping_pages()
502 clear_exceptional_entry(mapping, index, page); in invalidate_mapping_pages()
536 invalidate_complete_page2(struct address_space *mapping, struct page *page) in invalidate_complete_page2() argument
538 if (page->mapping != mapping) in invalidate_complete_page2()
544 spin_lock_irq(&mapping->tree_lock); in invalidate_complete_page2()
550 spin_unlock_irq(&mapping->tree_lock); in invalidate_complete_page2()
552 if (mapping->a_ops->freepage) in invalidate_complete_page2()
553 mapping->a_ops->freepage(page); in invalidate_complete_page2()
558 spin_unlock_irq(&mapping->tree_lock); in invalidate_complete_page2()
562 static int do_launder_page(struct address_space *mapping, struct page *page) in do_launder_page() argument
566 if (page->mapping != mapping || mapping->a_ops->launder_page == NULL) in do_launder_page()
568 return mapping->a_ops->launder_page(page); in do_launder_page()
582 int invalidate_inode_pages2_range(struct address_space *mapping, in invalidate_inode_pages2_range() argument
593 cleancache_invalidate_inode(mapping); in invalidate_inode_pages2_range()
596 while (index <= end && pagevec_lookup_entries(&pvec, mapping, index, in invalidate_inode_pages2_range()
608 clear_exceptional_entry(mapping, index, page); in invalidate_inode_pages2_range()
614 if (page->mapping != mapping) { in invalidate_inode_pages2_range()
624 unmap_mapping_range(mapping, in invalidate_inode_pages2_range()
634 unmap_mapping_range(mapping, in invalidate_inode_pages2_range()
640 ret2 = do_launder_page(mapping, page); in invalidate_inode_pages2_range()
642 if (!invalidate_complete_page2(mapping, page)) in invalidate_inode_pages2_range()
654 cleancache_invalidate_inode(mapping); in invalidate_inode_pages2_range()
668 int invalidate_inode_pages2(struct address_space *mapping) in invalidate_inode_pages2() argument
670 return invalidate_inode_pages2_range(mapping, 0, -1); in invalidate_inode_pages2()
691 struct address_space *mapping = inode->i_mapping; in truncate_pagecache() local
703 unmap_mapping_range(mapping, holebegin, 0, 1); in truncate_pagecache()
704 truncate_inode_pages(mapping, newsize); in truncate_pagecache()
705 unmap_mapping_range(mapping, holebegin, 0, 1); in truncate_pagecache()
799 struct address_space *mapping = inode->i_mapping; in truncate_pagecache_range() local
816 unmap_mapping_range(mapping, unmap_start, in truncate_pagecache_range()
818 truncate_inode_pages_range(mapping, lstart, lend); in truncate_pagecache_range()