diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/highmem.h | 4 | ||||
| -rw-r--r-- | include/linux/mm.h | 4 | ||||
| -rw-r--r-- | include/linux/raid/raid5.h | 2 |
3 files changed, 8 insertions, 2 deletions
diff --git a/include/linux/highmem.h b/include/linux/highmem.h index 11d84c93af71..2a7e6c65c882 100644 --- a/include/linux/highmem.h +++ b/include/linux/highmem.h @@ -48,7 +48,9 @@ alloc_zeroed_user_highpage(struct vm_area_struct *vma, unsigned long vaddr) { struct page *page = alloc_page_vma(GFP_HIGHUSER, vma, vaddr); - clear_user_highpage(page, vaddr); + if (page) + clear_user_highpage(page, vaddr); + return page; } #endif diff --git a/include/linux/mm.h b/include/linux/mm.h index 10d011f464d6..3a8c47c5dc9c 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -756,7 +756,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 */ -struct page *filemap_nopage(struct vm_area_struct *, unsigned long, int *); +extern struct page *filemap_nopage(struct vm_area_struct *, unsigned long, int *); +extern int filemap_populate(struct vm_area_struct *, unsigned long, + unsigned long, pgprot_t, unsigned long, int); /* mm/page-writeback.c */ int write_one_page(struct page *page, int wait); diff --git a/include/linux/raid/raid5.h b/include/linux/raid/raid5.h index baf88d2ad986..d63ddcb4afad 100644 --- a/include/linux/raid/raid5.h +++ b/include/linux/raid/raid5.h @@ -152,6 +152,7 @@ struct stripe_head { #define R5_Wantread 4 /* want to schedule a read */ #define R5_Wantwrite 5 #define R5_Syncio 6 /* this io need to be accounted as resync io */ +#define R5_Overlap 7 /* There is a pending overlapping request on this block */ /* * Write method @@ -219,6 +220,7 @@ struct raid5_private_data { atomic_t active_stripes; struct list_head inactive_list; wait_queue_head_t wait_for_stripe; + wait_queue_head_t wait_for_overlap; int inactive_blocked; /* release of inactive stripes blocked, * waiting for 25% to be free */ |
