diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/swapfile.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/mm/swapfile.c b/mm/swapfile.c index 71373d03fcee..f89af5ba2eb2 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c | |||
@@ -33,6 +33,7 @@ | |||
33 | #include <linux/oom.h> | 33 | #include <linux/oom.h> |
34 | #include <linux/frontswap.h> | 34 | #include <linux/frontswap.h> |
35 | #include <linux/swapfile.h> | 35 | #include <linux/swapfile.h> |
36 | #include <linux/export.h> | ||
36 | 37 | ||
37 | #include <asm/pgtable.h> | 38 | #include <asm/pgtable.h> |
38 | #include <asm/tlbflush.h> | 39 | #include <asm/tlbflush.h> |
@@ -2285,6 +2286,31 @@ int swapcache_prepare(swp_entry_t entry) | |||
2285 | return __swap_duplicate(entry, SWAP_HAS_CACHE); | 2286 | return __swap_duplicate(entry, SWAP_HAS_CACHE); |
2286 | } | 2287 | } |
2287 | 2288 | ||
2289 | struct swap_info_struct *page_swap_info(struct page *page) | ||
2290 | { | ||
2291 | swp_entry_t swap = { .val = page_private(page) }; | ||
2292 | BUG_ON(!PageSwapCache(page)); | ||
2293 | return swap_info[swp_type(swap)]; | ||
2294 | } | ||
2295 | |||
2296 | /* | ||
2297 | * out-of-line __page_file_ methods to avoid include hell. | ||
2298 | */ | ||
2299 | struct address_space *__page_file_mapping(struct page *page) | ||
2300 | { | ||
2301 | VM_BUG_ON(!PageSwapCache(page)); | ||
2302 | return page_swap_info(page)->swap_file->f_mapping; | ||
2303 | } | ||
2304 | EXPORT_SYMBOL_GPL(__page_file_mapping); | ||
2305 | |||
2306 | pgoff_t __page_file_index(struct page *page) | ||
2307 | { | ||
2308 | swp_entry_t swap = { .val = page_private(page) }; | ||
2309 | VM_BUG_ON(!PageSwapCache(page)); | ||
2310 | return swp_offset(swap); | ||
2311 | } | ||
2312 | EXPORT_SYMBOL_GPL(__page_file_index); | ||
2313 | |||
2288 | /* | 2314 | /* |
2289 | * add_swap_count_continuation - called when a swap count is duplicated | 2315 | * add_swap_count_continuation - called when a swap count is duplicated |
2290 | * beyond SWAP_MAP_MAX, it allocates a new page and links that to the entry's | 2316 | * beyond SWAP_MAP_MAX, it allocates a new page and links that to the entry's |