diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/mempolicy.c | 4 | ||||
-rw-r--r-- | mm/page_alloc.c | 2 | ||||
-rw-r--r-- | mm/swap.c | 2 | ||||
-rw-r--r-- | mm/tiny-shmem.c | 2 |
4 files changed, 7 insertions, 3 deletions
diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 1850d0aef4ac..b62cab575a84 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c | |||
@@ -208,6 +208,8 @@ static int check_pte_range(struct vm_area_struct *vma, pmd_t *pmd, | |||
208 | page = vm_normal_page(vma, addr, *pte); | 208 | page = vm_normal_page(vma, addr, *pte); |
209 | if (!page) | 209 | if (!page) |
210 | continue; | 210 | continue; |
211 | if (PageReserved(page)) | ||
212 | continue; | ||
211 | nid = page_to_nid(page); | 213 | nid = page_to_nid(page); |
212 | if (node_isset(nid, *nodes) == !!(flags & MPOL_MF_INVERT)) | 214 | if (node_isset(nid, *nodes) == !!(flags & MPOL_MF_INVERT)) |
213 | continue; | 215 | continue; |
@@ -290,7 +292,7 @@ static inline int check_pgd_range(struct vm_area_struct *vma, | |||
290 | static inline int vma_migratable(struct vm_area_struct *vma) | 292 | static inline int vma_migratable(struct vm_area_struct *vma) |
291 | { | 293 | { |
292 | if (vma->vm_flags & ( | 294 | if (vma->vm_flags & ( |
293 | VM_LOCKED|VM_IO|VM_HUGETLB|VM_PFNMAP)) | 295 | VM_LOCKED|VM_IO|VM_HUGETLB|VM_PFNMAP|VM_RESERVED)) |
294 | return 0; | 296 | return 0; |
295 | return 1; | 297 | return 1; |
296 | } | 298 | } |
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index d41a0662d4da..8c960b469593 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -1742,7 +1742,7 @@ void __devinit memmap_init_zone(unsigned long size, int nid, unsigned long zone, | |||
1742 | unsigned long end_pfn = start_pfn + size; | 1742 | unsigned long end_pfn = start_pfn + size; |
1743 | unsigned long pfn; | 1743 | unsigned long pfn; |
1744 | 1744 | ||
1745 | for (pfn = start_pfn; pfn < end_pfn; pfn++, page++) { | 1745 | for (pfn = start_pfn; pfn < end_pfn; pfn++) { |
1746 | if (!early_pfn_valid(pfn)) | 1746 | if (!early_pfn_valid(pfn)) |
1747 | continue; | 1747 | continue; |
1748 | page = pfn_to_page(pfn); | 1748 | page = pfn_to_page(pfn); |
@@ -384,6 +384,8 @@ unsigned pagevec_lookup(struct pagevec *pvec, struct address_space *mapping, | |||
384 | return pagevec_count(pvec); | 384 | return pagevec_count(pvec); |
385 | } | 385 | } |
386 | 386 | ||
387 | EXPORT_SYMBOL(pagevec_lookup); | ||
388 | |||
387 | unsigned pagevec_lookup_tag(struct pagevec *pvec, struct address_space *mapping, | 389 | unsigned pagevec_lookup_tag(struct pagevec *pvec, struct address_space *mapping, |
388 | pgoff_t *index, int tag, unsigned nr_pages) | 390 | pgoff_t *index, int tag, unsigned nr_pages) |
389 | { | 391 | { |
diff --git a/mm/tiny-shmem.c b/mm/tiny-shmem.c index cdc6d431972b..f9d6a9cc91c4 100644 --- a/mm/tiny-shmem.c +++ b/mm/tiny-shmem.c | |||
@@ -90,7 +90,7 @@ struct file *shmem_file_setup(char *name, loff_t size, unsigned long flags) | |||
90 | file->f_mode = FMODE_WRITE | FMODE_READ; | 90 | file->f_mode = FMODE_WRITE | FMODE_READ; |
91 | 91 | ||
92 | /* notify everyone as to the change of file size */ | 92 | /* notify everyone as to the change of file size */ |
93 | error = do_truncate(dentry, size, file); | 93 | error = do_truncate(dentry, size, 0, file); |
94 | if (error < 0) | 94 | if (error < 0) |
95 | goto close_file; | 95 | goto close_file; |
96 | 96 | ||