diff options
-rw-r--r-- | include/linux/pagemap.h | 1 | ||||
-rw-r--r-- | mm/filemap.c | 16 |
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); |
456 | int add_to_page_cache_lru(struct page *page, struct address_space *mapping, | 456 | int 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); |
458 | extern void delete_from_page_cache(struct page *page); | ||
458 | extern void remove_from_page_cache(struct page *page); | 459 | extern void remove_from_page_cache(struct page *page); |
459 | extern void __remove_from_page_cache(struct page *page); | 460 | extern void __remove_from_page_cache(struct page *page); |
460 | int replace_page_cache_page(struct page *old, struct page *new, gfp_t gfp_mask); | 461 | int 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 | } |
156 | EXPORT_SYMBOL(remove_from_page_cache); | 156 | EXPORT_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 | */ | ||
167 | void delete_from_page_cache(struct page *page) | ||
168 | { | ||
169 | remove_from_page_cache(page); | ||
170 | page_cache_release(page); | ||
171 | } | ||
172 | EXPORT_SYMBOL(delete_from_page_cache); | ||
173 | |||
158 | static int sync_page(void *word) | 174 | static int sync_page(void *word) |
159 | { | 175 | { |
160 | struct address_space *mapping; | 176 | struct address_space *mapping; |