Whamcloud - gitweb
Branch HEAD
[fs/lustre-release.git] / lustre / kernel_patches / patches / grab_cache_page_nowait_gfp-2.6-suse.patch
1 Index: linux-2.6.5-SLES9_SP1_BRANCH_2004111114454891/mm/filemap.c
2 ===================================================================
3 --- linux-2.6.5-SLES9_SP1_BRANCH_2004111114454891.orig/mm/filemap.c     2004-11-11 10:28:45.000000000 -0500
4 +++ linux-2.6.5-SLES9_SP1_BRANCH_2004111114454891/mm/filemap.c  2005-02-01 01:36:08.000000000 -0500
5 @@ -773,8 +773,19 @@
6  struct page *
7  grab_cache_page_nowait(struct address_space *mapping, unsigned long index)
8  {
9 +       return grab_cache_page_nowait_gfp(mapping, index,
10 +                                         mapping_gfp_mask(mapping) & 
11 +                                         ~__GFP_FS);
12 +}
13 +
14 +EXPORT_SYMBOL(grab_cache_page_nowait);
15 +
16 +struct page *
17 +grab_cache_page_nowait_gfp(struct address_space *mapping,
18 +                          unsigned long index,
19 +                          unsigned int gfp_mask)
20 +{
21         struct page *page = find_get_page(mapping, index);
22 -       int gfp_mask;
23  
24         if (page) {
25                 if (!TestSetPageLocked(page))
26 @@ -782,7 +793,7 @@
27                 page_cache_release(page);
28                 return NULL;
29         }
30 -       gfp_mask = mapping_gfp_mask(mapping) & ~__GFP_FS;
31 +
32         page = alloc_pages(gfp_mask, 0);
33         if (page && add_to_page_cache_lru(page, mapping, index, gfp_mask)) {
34                 page_cache_release(page);
35 @@ -791,7 +802,7 @@
36         return page;
37  }
38  
39 -EXPORT_SYMBOL(grab_cache_page_nowait);
40 +EXPORT_SYMBOL(grab_cache_page_nowait_gfp);
41  
42  /*
43   * This is a generic file read routine, and uses the
44 Index: linux-2.6.5-SLES9_SP1_BRANCH_2004111114454891/include/linux/pagemap.h
45 ===================================================================
46 --- linux-2.6.5-SLES9_SP1_BRANCH_2004111114454891.orig/include/linux/pagemap.h  2004-11-11 10:28:43.000000000 -0500
47 +++ linux-2.6.5-SLES9_SP1_BRANCH_2004111114454891/include/linux/pagemap.h       2005-02-01 01:29:06.000000000 -0500
48 @@ -92,6 +92,9 @@
49  
50  extern struct page * grab_cache_page_nowait(struct address_space *mapping,
51                                 unsigned long index);
52 +extern struct page * grab_cache_page_nowait_gfp(struct address_space *mapping,
53 +                                               unsigned long index,
54 +                                               unsigned int gfp_mask);
55  extern struct page * read_cache_page(struct address_space *mapping,
56                                 unsigned long index, filler_t *filler,
57                                 void *data);