Linux 4.5: no highmem in symlink ops

Symlink bodies in the pagecache should not be in highmem, as
upstream converted in commit 21fc61c73.

Reviewed-on: https://gerrit.openafs.org/12264
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Joe Gorse <jhgorse@gmail.com>
Tested-by: Joe Gorse <jhgorse@gmail.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit d9cfc1f3f5a75f1dbb14a56cd3da9db6b7a48065)

Change-Id: If1ef28955b08db4d95d6bd8a3b833895243f858a
Reviewed-on: https://gerrit.openafs.org/12300
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
This commit is contained in:
Benjamin Kaduk 2016-05-01 19:04:45 -04:00 committed by Stephan Wiesand
parent a854188922
commit 6e2988d7e6
2 changed files with 6 additions and 0 deletions

View File

@ -1034,6 +1034,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
[#include <linux/kernel.h>
#include <linux/kthread.h>],
[kthread_run(NULL, NULL, "test");])
AC_CHECK_LINUX_FUNC([inode_nohighmem],
[#include <linux/fs.h>],
[inode_nohighmem(NULL);])
dnl Consequences - things which get set as a result of the
dnl above tests

View File

@ -3143,6 +3143,9 @@ afs_fill_inode(struct inode *ip, struct vattr *vattr)
} else if (S_ISLNK(ip->i_mode)) {
ip->i_op = &afs_symlink_iops;
#if defined(HAVE_LINUX_INODE_NOHIGHMEM)
inode_nohighmem(ip);
#endif
#if defined(USABLE_KERNEL_PAGE_SYMLINK_CACHE)
ip->i_data.a_ops = &afs_symlink_aops;
ip->i_mapping = &ip->i_data;