diff options
author | John W. Linville <linville@tuxdriver.com> | 2012-09-07 21:07:55 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-09-07 21:07:55 +0200 |
commit | fac805f8c198092de9a2842efd7f5022e2937b18 (patch) | |
tree | 7557809c373f97a343c427d8fded0696060394ce /mm/fadvise.c | |
parent | rtlwifi: Update header file (diff) | |
parent | libertas sdio: fix suspend when interface is down (diff) | |
download | linux-fac805f8c198092de9a2842efd7f5022e2937b18.tar.xz linux-fac805f8c198092de9a2842efd7f5022e2937b18.zip |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
Diffstat (limited to 'mm/fadvise.c')
-rw-r--r-- | mm/fadvise.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/mm/fadvise.c b/mm/fadvise.c index 469491e0af79..9b75a045dbf4 100644 --- a/mm/fadvise.c +++ b/mm/fadvise.c @@ -93,11 +93,6 @@ SYSCALL_DEFINE(fadvise64_64)(int fd, loff_t offset, loff_t len, int advice) spin_unlock(&file->f_lock); break; case POSIX_FADV_WILLNEED: - if (!mapping->a_ops->readpage) { - ret = -EINVAL; - break; - } - /* First and last PARTIAL page! */ start_index = offset >> PAGE_CACHE_SHIFT; end_index = endbyte >> PAGE_CACHE_SHIFT; @@ -106,12 +101,13 @@ SYSCALL_DEFINE(fadvise64_64)(int fd, loff_t offset, loff_t len, int advice) nrpages = end_index - start_index + 1; if (!nrpages) nrpages = ~0UL; - - ret = force_page_cache_readahead(mapping, file, - start_index, - nrpages); - if (ret > 0) - ret = 0; + + /* + * Ignore return value because fadvise() shall return + * success even if filesystem can't retrieve a hint, + */ + force_page_cache_readahead(mapping, file, start_index, + nrpages); break; case POSIX_FADV_NOREUSE: break; |