diff options
Diffstat (limited to 'mm/filemap.c')
| -rw-r--r-- | mm/filemap.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index 1c31b2fd2ca5..768687f1d46b 100644 --- a/mm/filemap.c +++ b/mm/filemap.c | |||
| @@ -66,7 +66,7 @@ generic_file_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iov, | |||
| 66 | * | 66 | * |
| 67 | * ->mmap_sem | 67 | * ->mmap_sem |
| 68 | * ->i_mmap_lock | 68 | * ->i_mmap_lock |
| 69 | * ->page_table_lock (various places, mainly in mmap.c) | 69 | * ->page_table_lock or pte_lock (various, mainly in memory.c) |
| 70 | * ->mapping->tree_lock (arch-dependent flush_dcache_mmap_lock) | 70 | * ->mapping->tree_lock (arch-dependent flush_dcache_mmap_lock) |
| 71 | * | 71 | * |
| 72 | * ->mmap_sem | 72 | * ->mmap_sem |
| @@ -86,9 +86,9 @@ generic_file_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iov, | |||
| 86 | * ->anon_vma.lock (vma_adjust) | 86 | * ->anon_vma.lock (vma_adjust) |
| 87 | * | 87 | * |
| 88 | * ->anon_vma.lock | 88 | * ->anon_vma.lock |
| 89 | * ->page_table_lock (anon_vma_prepare and various) | 89 | * ->page_table_lock or pte_lock (anon_vma_prepare and various) |
| 90 | * | 90 | * |
| 91 | * ->page_table_lock | 91 | * ->page_table_lock or pte_lock |
| 92 | * ->swap_lock (try_to_unmap_one) | 92 | * ->swap_lock (try_to_unmap_one) |
| 93 | * ->private_lock (try_to_unmap_one) | 93 | * ->private_lock (try_to_unmap_one) |
| 94 | * ->tree_lock (try_to_unmap_one) | 94 | * ->tree_lock (try_to_unmap_one) |
| @@ -152,7 +152,7 @@ static int sync_page(void *word) | |||
| 152 | * in the ->sync_page() methods make essential use of the | 152 | * in the ->sync_page() methods make essential use of the |
| 153 | * page_mapping(), merely passing the page down to the backing | 153 | * page_mapping(), merely passing the page down to the backing |
| 154 | * device's unplug functions when it's non-NULL, which in turn | 154 | * device's unplug functions when it's non-NULL, which in turn |
| 155 | * ignore it for all cases but swap, where only page->private is | 155 | * ignore it for all cases but swap, where only page_private(page) is |
| 156 | * of interest. When page_mapping() does go NULL, the entire | 156 | * of interest. When page_mapping() does go NULL, the entire |
| 157 | * call stack gracefully ignores the page and returns. | 157 | * call stack gracefully ignores the page and returns. |
| 158 | * -- wli | 158 | * -- wli |
| @@ -1520,7 +1520,7 @@ repeat: | |||
| 1520 | page_cache_release(page); | 1520 | page_cache_release(page); |
| 1521 | return err; | 1521 | return err; |
| 1522 | } | 1522 | } |
| 1523 | } else { | 1523 | } else if (vma->vm_flags & VM_NONLINEAR) { |
| 1524 | /* No page was found just because we can't read it in now (being | 1524 | /* No page was found just because we can't read it in now (being |
| 1525 | * here implies nonblock != 0), but the page may exist, so set | 1525 | * here implies nonblock != 0), but the page may exist, so set |
| 1526 | * the PTE to fault it in later. */ | 1526 | * the PTE to fault it in later. */ |
| @@ -1537,6 +1537,7 @@ repeat: | |||
| 1537 | 1537 | ||
| 1538 | return 0; | 1538 | return 0; |
| 1539 | } | 1539 | } |
| 1540 | EXPORT_SYMBOL(filemap_populate); | ||
| 1540 | 1541 | ||
| 1541 | struct vm_operations_struct generic_file_vm_ops = { | 1542 | struct vm_operations_struct generic_file_vm_ops = { |
| 1542 | .nopage = filemap_nopage, | 1543 | .nopage = filemap_nopage, |
| @@ -1555,7 +1556,6 @@ int generic_file_mmap(struct file * file, struct vm_area_struct * vma) | |||
| 1555 | vma->vm_ops = &generic_file_vm_ops; | 1556 | vma->vm_ops = &generic_file_vm_ops; |
| 1556 | return 0; | 1557 | return 0; |
| 1557 | } | 1558 | } |
| 1558 | EXPORT_SYMBOL(filemap_populate); | ||
| 1559 | 1559 | ||
| 1560 | /* | 1560 | /* |
| 1561 | * This is for filesystems which do not implement ->writepage. | 1561 | * This is for filesystems which do not implement ->writepage. |
