diff options
author | Amir Goldstein <amir73il@gmail.com> | 2018-08-29 08:41:29 +0300 |
---|---|---|
committer | Miklos Szeredi <mszeredi@redhat.com> | 2018-08-30 20:01:32 +0200 |
commit | 3d8f7615319b2bca87a4815e13787439e3339a93 (patch) | |
tree | f7f5c2be4f572892747e47c9fc1001e86f74ca61 /mm/Makefile | |
parent | 45cd0faae3715e305bc46e23b34c5ed4d185ceb8 (diff) | |
download | lwn-3d8f7615319b2bca87a4815e13787439e3339a93.tar.gz lwn-3d8f7615319b2bca87a4815e13787439e3339a93.zip |
vfs: implement readahead(2) using POSIX_FADV_WILLNEED
The implementation of readahead(2) syscall is identical to that of
fadvise64(POSIX_FADV_WILLNEED) with a few exceptions:
1. readahead(2) returns -EINVAL for !mapping->a_ops and fadvise64()
ignores the request and returns 0.
2. fadvise64() checks for integer overflow corner case
3. fadvise64() calls the optional filesystem fadvise() file operation
Unite the two implementations by calling vfs_fadvise() from readahead(2)
syscall. Check the !mapping->a_ops in readahead(2) syscall to preserve
documented syscall ABI behaviour.
Suggested-by: Miklos Szeredi <mszeredi@redhat.com>
Fixes: d1d04ef8572b ("ovl: stack file ops")
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'mm/Makefile')
-rw-r--r-- | mm/Makefile | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/mm/Makefile b/mm/Makefile index 8716bdabe1e6..26ef77a3883b 100644 --- a/mm/Makefile +++ b/mm/Makefile @@ -32,7 +32,7 @@ ifdef CONFIG_CROSS_MEMORY_ATTACH mmu-$(CONFIG_MMU) += process_vm_access.o endif -obj-y := filemap.o mempool.o oom_kill.o \ +obj-y := filemap.o mempool.o oom_kill.o fadvise.o \ maccess.o page_alloc.o page-writeback.o \ readahead.o swap.o truncate.o vmscan.o shmem.o \ util.o mmzone.o vmstat.o backing-dev.o \ @@ -49,7 +49,6 @@ else obj-y += bootmem.o endif -obj-$(CONFIG_ADVISE_SYSCALLS) += fadvise.o ifdef CONFIG_MMU obj-$(CONFIG_ADVISE_SYSCALLS) += madvise.o endif |