diff options
Diffstat (limited to 'mm/filemap.c')
| -rw-r--r-- | mm/filemap.c | 21 | 
1 files changed, 3 insertions, 18 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index 76bfb6460f5..96778faf82d 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -33,7 +33,6 @@  #include <linux/cpuset.h>  #include <linux/hardirq.h> /* for BUG_ON(!in_atomic()) only */  #include <linux/memcontrol.h> -#include <linux/mm_inline.h> /* for page_is_file_cache() */  #include <linux/cleancache.h>  #include "internal.h" @@ -462,6 +461,7 @@ int add_to_page_cache_locked(struct page *page, struct address_space *mapping,  	int error;  	VM_BUG_ON(!PageLocked(page)); +	VM_BUG_ON(PageSwapBacked(page));  	error = mem_cgroup_cache_charge(page, current->mm,  					gfp_mask & GFP_RECLAIM_MASK); @@ -479,8 +479,6 @@ int add_to_page_cache_locked(struct page *page, struct address_space *mapping,  		if (likely(!error)) {  			mapping->nrpages++;  			__inc_zone_page_state(page, NR_FILE_PAGES); -			if (PageSwapBacked(page)) -				__inc_zone_page_state(page, NR_SHMEM);  			spin_unlock_irq(&mapping->tree_lock);  		} else {  			page->mapping = NULL; @@ -502,22 +500,9 @@ int add_to_page_cache_lru(struct page *page, struct address_space *mapping,  {  	int ret; -	/* -	 * Splice_read and readahead add shmem/tmpfs pages into the page cache -	 * before shmem_readpage has a chance to mark them as SwapBacked: they -	 * need to go on the anon lru below, and mem_cgroup_cache_charge -	 * (called in add_to_page_cache) needs to know where they're going too. -	 */ -	if (mapping_cap_swap_backed(mapping)) -		SetPageSwapBacked(page); -  	ret = add_to_page_cache(page, mapping, offset, gfp_mask); -	if (ret == 0) { -		if (page_is_file_cache(page)) -			lru_cache_add_file(page); -		else -			lru_cache_add_anon(page); -	} +	if (ret == 0) +		lru_cache_add_file(page);  	return ret;  }  EXPORT_SYMBOL_GPL(add_to_page_cache_lru);  |