diff options
Diffstat (limited to 'mm/internal.h')
-rw-r--r-- | mm/internal.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/mm/internal.h b/mm/internal.h index a25e359a4039..8bdf34edb5c2 100644 --- a/mm/internal.h +++ b/mm/internal.h | |||
@@ -13,6 +13,34 @@ | |||
13 | 13 | ||
14 | #include <linux/fs.h> | 14 | #include <linux/fs.h> |
15 | #include <linux/mm.h> | 15 | #include <linux/mm.h> |
16 | #include <linux/pagemap.h> | ||
17 | |||
18 | /* | ||
19 | * Pagecache replication | ||
20 | */ | ||
21 | static inline int pcache_replicated(struct address_space *mapping, unsigned long offset) | ||
22 | { | ||
23 | return radix_tree_tag_get(&mapping->page_tree, offset, | ||
24 | PAGECACHE_TAG_REPLICATED); | ||
25 | } | ||
26 | |||
27 | extern int reclaim_replicated_page(struct address_space *mapping, | ||
28 | struct page *page); | ||
29 | extern struct page *get_unreplicated_page(struct address_space *mapping, | ||
30 | unsigned long offset, struct page *page); | ||
31 | extern void get_unreplicated_pages(struct address_space *mapping, | ||
32 | struct page **pages, int nr); | ||
33 | extern struct page *find_get_page_readonly(struct address_space *mapping, | ||
34 | unsigned long offset); | ||
35 | extern int is_pcache_desc(void *ptr); | ||
36 | extern struct pcache_desc *ptr_to_pcache_desc(void *ptr); | ||
37 | extern void *pcache_desc_to_ptr(struct pcache_desc *pcd); | ||
38 | extern void unreplicate_pcache(struct address_space *mapping, unsigned long offset); | ||
39 | |||
40 | struct page *get_unreplicated_page_fault(struct page *page); | ||
41 | |||
42 | /* End Pagecache replication */ | ||
43 | |||
16 | 44 | ||
17 | void free_pgtables(struct mmu_gather *tlb, struct vm_area_struct *start_vma, | 45 | void free_pgtables(struct mmu_gather *tlb, struct vm_area_struct *start_vma, |
18 | unsigned long floor, unsigned long ceiling); | 46 | unsigned long floor, unsigned long ceiling); |