aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/pagemap.h1
-rw-r--r--mm/filemap.c16
2 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h
index 26946ad483bf..0aa258f4678d 100644
--- a/include/linux/pagemap.h
+++ b/include/linux/pagemap.h
@@ -455,6 +455,7 @@ int add_to_page_cache_locked(struct page *page, struct address_space *mapping,
455 pgoff_t index, gfp_t gfp_mask); 455 pgoff_t index, gfp_t gfp_mask);
456int add_to_page_cache_lru(struct page *page, struct address_space *mapping, 456int add_to_page_cache_lru(struct page *page, struct address_space *mapping,
457 pgoff_t index, gfp_t gfp_mask); 457 pgoff_t index, gfp_t gfp_mask);
458extern void delete_from_page_cache(struct page *page);
458extern void remove_from_page_cache(struct page *page); 459extern void remove_from_page_cache(struct page *page);
459extern void __remove_from_page_cache(struct page *page); 460extern void __remove_from_page_cache(struct page *page);
460int replace_page_cache_page(struct page *old, struct page *new, gfp_t gfp_mask); 461int replace_page_cache_page(struct page *old, struct page *new, gfp_t gfp_mask);
diff --git a/mm/filemap.c b/mm/filemap.c
index c1459f2cdb5e..e7b59785ceb9 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -155,6 +155,22 @@ void remove_from_page_cache(struct page *page)
155} 155}
156EXPORT_SYMBOL(remove_from_page_cache); 156EXPORT_SYMBOL(remove_from_page_cache);
157 157
158/**
159 * delete_from_page_cache - delete page from page cache
160 * @page: the page which the kernel is trying to remove from page cache
161 *
162 * This must be called only on pages that have
163 * been verified to be in the page cache and locked.
164 * It will never put the page into the free list,
165 * the caller has a reference on the page.
166 */
167void delete_from_page_cache(struct page *page)
168{
169 remove_from_page_cache(page);
170 page_cache_release(page);
171}
172EXPORT_SYMBOL(delete_from_page_cache);
173
158static int sync_page(void *word) 174static int sync_page(void *word)
159{ 175{
160 struct address_space *mapping; 176 struct address_space *mapping;