diff options
author | Arnd Bergmann <arnd@arndb.de> | 2018-04-13 18:35:27 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-04-13 20:10:27 -0400 |
commit | 453972283dcbf61fa33c8c0540d9b5e0caf9d570 (patch) | |
tree | cd2f4b761b02f9345b541b56a109ee8814b28ce3 | |
parent | d081107867b85cc7454b9d4f5aea47f65bcf06d1 (diff) |
mm/filemap.c: provide dummy filemap_page_mkwrite() for NOMMU
Building orangefs on MMU-less machines now results in a link error
because of the newly introduced use of the filemap_page_mkwrite()
function:
ERROR: "filemap_page_mkwrite" [fs/orangefs/orangefs.ko] undefined!
This adds a dummy version for it, similar to the existing
generic_file_mmap and generic_file_readonly_mmap stubs in the same file,
to avoid the link error without adding #ifdefs in each file system that
uses these.
Link: http://lkml.kernel.org/r/20180409105555.2439976-1-arnd@arndb.de
Fixes: a5135eeab2e5 ("orangefs: implement vm_ops->fault")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Mike Marshall <hubcap@omnibond.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | mm/filemap.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index ab77e19ab09c..9276bdb2343c 100644 --- a/mm/filemap.c +++ b/mm/filemap.c | |||
@@ -2719,7 +2719,6 @@ out: | |||
2719 | sb_end_pagefault(inode->i_sb); | 2719 | sb_end_pagefault(inode->i_sb); |
2720 | return ret; | 2720 | return ret; |
2721 | } | 2721 | } |
2722 | EXPORT_SYMBOL(filemap_page_mkwrite); | ||
2723 | 2722 | ||
2724 | const struct vm_operations_struct generic_file_vm_ops = { | 2723 | const struct vm_operations_struct generic_file_vm_ops = { |
2725 | .fault = filemap_fault, | 2724 | .fault = filemap_fault, |
@@ -2750,6 +2749,10 @@ int generic_file_readonly_mmap(struct file *file, struct vm_area_struct *vma) | |||
2750 | return generic_file_mmap(file, vma); | 2749 | return generic_file_mmap(file, vma); |
2751 | } | 2750 | } |
2752 | #else | 2751 | #else |
2752 | int filemap_page_mkwrite(struct vm_fault *vmf) | ||
2753 | { | ||
2754 | return -ENOSYS; | ||
2755 | } | ||
2753 | int generic_file_mmap(struct file * file, struct vm_area_struct * vma) | 2756 | int generic_file_mmap(struct file * file, struct vm_area_struct * vma) |
2754 | { | 2757 | { |
2755 | return -ENOSYS; | 2758 | return -ENOSYS; |
@@ -2760,6 +2763,7 @@ int generic_file_readonly_mmap(struct file * file, struct vm_area_struct * vma) | |||
2760 | } | 2763 | } |
2761 | #endif /* CONFIG_MMU */ | 2764 | #endif /* CONFIG_MMU */ |
2762 | 2765 | ||
2766 | EXPORT_SYMBOL(filemap_page_mkwrite); | ||
2763 | EXPORT_SYMBOL(generic_file_mmap); | 2767 | EXPORT_SYMBOL(generic_file_mmap); |
2764 | EXPORT_SYMBOL(generic_file_readonly_mmap); | 2768 | EXPORT_SYMBOL(generic_file_readonly_mmap); |
2765 | 2769 | ||