From 785f0f640f48587971f7d6b806cbe890f01a5bca Mon Sep 17 00:00:00 2001 From: Shaohua Li Date: Fri, 22 Feb 2013 16:34:35 -0800 Subject: [PATCH] --- yaml --- r: 356565 b: refs/heads/master c: 9800339b5e0f0e24ab3dac349e0de80d2018832e h: refs/heads/master i: 356563: c3e752cfe5817c42af0437142165ff7352143bdc v: v3 --- [refs] | 2 +- trunk/include/linux/mm.h | 13 +------------ trunk/mm/util.c | 16 ++++++++++++++++ 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index 230761e8d723..25afc258d308 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 340ef3902cf20cec43cdcd1e72ae5cb518be7328 +refs/heads/master: 9800339b5e0f0e24ab3dac349e0de80d2018832e diff --git a/trunk/include/linux/mm.h b/trunk/include/linux/mm.h index 473abbda942e..1d4122bf6f27 100644 --- a/trunk/include/linux/mm.h +++ b/trunk/include/linux/mm.h @@ -809,18 +809,7 @@ void page_address_init(void); #define PAGE_MAPPING_KSM 2 #define PAGE_MAPPING_FLAGS (PAGE_MAPPING_ANON | PAGE_MAPPING_KSM) -extern struct address_space swapper_space; -static inline struct address_space *page_mapping(struct page *page) -{ - struct address_space *mapping = page->mapping; - - VM_BUG_ON(PageSlab(page)); - if (unlikely(PageSwapCache(page))) - mapping = &swapper_space; - else if ((unsigned long)mapping & PAGE_MAPPING_ANON) - mapping = NULL; - return mapping; -} +extern struct address_space *page_mapping(struct page *page); /* Neutral page->mapping pointer to address_space or anon_vma or other */ static inline void *page_rmapping(struct page *page) diff --git a/trunk/mm/util.c b/trunk/mm/util.c index 3704bf1bef94..16a73195a37b 100644 --- a/trunk/mm/util.c +++ b/trunk/mm/util.c @@ -5,6 +5,7 @@ #include #include #include +#include #include #include "internal.h" @@ -382,6 +383,21 @@ unsigned long vm_mmap(struct file *file, unsigned long addr, } EXPORT_SYMBOL(vm_mmap); +struct address_space *page_mapping(struct page *page) +{ + struct address_space *mapping = page->mapping; + + VM_BUG_ON(PageSlab(page)); +#ifdef CONFIG_SWAP + if (unlikely(PageSwapCache(page))) + mapping = &swapper_space; + else +#endif + if ((unsigned long)mapping & PAGE_MAPPING_ANON) + mapping = NULL; + return mapping; +} + /* Tracepoints definitions. */ EXPORT_TRACEPOINT_SYMBOL(kmalloc); EXPORT_TRACEPOINT_SYMBOL(kmem_cache_alloc);