summaryrefslogtreecommitdiffstats
path: root/include/linux/mm.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mm.h')
-rw-r--r--include/linux/mm.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 70ffe28e4..37bc9a4a1 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -204,7 +204,7 @@ typedef struct page {
*/
#define UnlockPage(page) do { \
smp_mb__before_clear_bit(); \
- clear_bit(PG_locked, &(page)->flags); \
+ if (!test_and_clear_bit(PG_locked, &(page)->flags)) BUG(); \
smp_mb__after_clear_bit(); \
if (waitqueue_active(&page->wait)) \
wake_up(&page->wait); \
@@ -454,11 +454,9 @@ extern unsigned long page_unuse(struct page *);
extern void truncate_inode_pages(struct address_space *, loff_t);
/* generic vm_area_ops exported for stackable file systems */
-extern int filemap_swapout(struct page * page, struct file *file);
-extern int filemap_sync(struct vm_area_struct * vma, unsigned long address,
- size_t size, unsigned int flags);
-extern struct page *filemap_nopage(struct vm_area_struct * area,
- unsigned long address, int no_share);
+extern int filemap_swapout(struct page *, struct file *);
+extern int filemap_sync(struct vm_area_struct *, unsigned long, size_t, unsigned int);
+extern struct page *filemap_nopage(struct vm_area_struct *, unsigned long, int);
/*
* GFP bitmasks..