summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/fs.h2
-rw-r--r--include/linux/mm.h7
2 files changed, 6 insertions, 3 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index ca6d8c806f47..5a8a273d5b2f 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -2552,6 +2552,8 @@ extern int sb_min_blocksize(struct super_block *, int);
2552 2552
2553extern int generic_file_mmap(struct file *, struct vm_area_struct *); 2553extern int generic_file_mmap(struct file *, struct vm_area_struct *);
2554extern int generic_file_readonly_mmap(struct file *, struct vm_area_struct *); 2554extern int generic_file_readonly_mmap(struct file *, struct vm_area_struct *);
2555extern int generic_file_remap_pages(struct vm_area_struct *, unsigned long addr,
2556 unsigned long size, pgoff_t pgoff);
2555extern int file_read_actor(read_descriptor_t * desc, struct page *page, unsigned long offset, unsigned long size); 2557extern int file_read_actor(read_descriptor_t * desc, struct page *page, unsigned long offset, unsigned long size);
2556int generic_write_checks(struct file *file, loff_t *pos, size_t *count, int isblk); 2558int generic_write_checks(struct file *file, loff_t *pos, size_t *count, int isblk);
2557extern ssize_t generic_file_aio_read(struct kiocb *, const struct iovec *, unsigned long, loff_t); 2559extern ssize_t generic_file_aio_read(struct kiocb *, const struct iovec *, unsigned long, loff_t);
diff --git a/include/linux/mm.h b/include/linux/mm.h
index fb0685b17914..44d3fc25f556 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -105,7 +105,6 @@ extern unsigned int kobjsize(const void *objp);
105#define VM_ARCH_1 0x01000000 /* Architecture-specific flag */ 105#define VM_ARCH_1 0x01000000 /* Architecture-specific flag */
106#define VM_NODUMP 0x04000000 /* Do not include in the core dump */ 106#define VM_NODUMP 0x04000000 /* Do not include in the core dump */
107 107
108#define VM_CAN_NONLINEAR 0x08000000 /* Has ->fault & does nonlinear pages */
109#define VM_MIXEDMAP 0x10000000 /* Can contain "struct page" and pure PFN pages */ 108#define VM_MIXEDMAP 0x10000000 /* Can contain "struct page" and pure PFN pages */
110#define VM_HUGEPAGE 0x20000000 /* MADV_HUGEPAGE marked this vma */ 109#define VM_HUGEPAGE 0x20000000 /* MADV_HUGEPAGE marked this vma */
111#define VM_NOHUGEPAGE 0x40000000 /* MADV_NOHUGEPAGE marked this vma */ 110#define VM_NOHUGEPAGE 0x40000000 /* MADV_NOHUGEPAGE marked this vma */
@@ -171,8 +170,7 @@ extern pgprot_t protection_map[16];
171 * of VM_FAULT_xxx flags that give details about how the fault was handled. 170 * of VM_FAULT_xxx flags that give details about how the fault was handled.
172 * 171 *
173 * pgoff should be used in favour of virtual_address, if possible. If pgoff 172 * pgoff should be used in favour of virtual_address, if possible. If pgoff
174 * is used, one may set VM_CAN_NONLINEAR in the vma->vm_flags to get nonlinear 173 * is used, one may implement ->remap_pages to get nonlinear mapping support.
175 * mapping support.
176 */ 174 */
177struct vm_fault { 175struct vm_fault {
178 unsigned int flags; /* FAULT_FLAG_xxx flags */ 176 unsigned int flags; /* FAULT_FLAG_xxx flags */
@@ -230,6 +228,9 @@ struct vm_operations_struct {
230 int (*migrate)(struct vm_area_struct *vma, const nodemask_t *from, 228 int (*migrate)(struct vm_area_struct *vma, const nodemask_t *from,
231 const nodemask_t *to, unsigned long flags); 229 const nodemask_t *to, unsigned long flags);
232#endif 230#endif
231 /* called by sys_remap_file_pages() to populate non-linear mapping */
232 int (*remap_pages)(struct vm_area_struct *vma, unsigned long addr,
233 unsigned long size, pgoff_t pgoff);
233}; 234};
234 235
235struct mmu_gather; 236struct mmu_gather;