summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorJody McIntyre <scjody@modernduck.com>2005-02-09 08:19:10 -0500
committerJody McIntyre <scjody@modernduck.com>2005-02-09 08:19:10 -0500
commit23750010bfa81de0867ddd4bd4bd7c9b2d27fe05 (patch)
tree0b0b2ff8aab00bf3dcb5753a2e7a1217194c1312 /include/linux
parentc5ff533d2618c3c26242551e2a9957763f126e2c (diff)
parent245f9eba891010ed627fec5b83d0f7b575e3d5ce (diff)
Merge modernduck.com:/usr/src/bk/linux-2.5
into modernduck.com:/usr/src/bk/1394-2.6
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/highmem.h4
-rw-r--r--include/linux/mm.h4
-rw-r--r--include/linux/raid/raid5.h2
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
*/