From: Benjamin Kaduk Date: Sun, 1 May 2016 23:04:45 +0000 (-0400) Subject: Linux 4.5: no highmem in symlink ops X-Git-Tag: upstream/1.6.18.1^2~5 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=6e2988d7e65b2145c11c18be64d1c51a1facb5b5;p=packages%2Fo%2Fopenafs.git 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 Reviewed-by: Joe Gorse Tested-by: Joe Gorse Reviewed-by: Benjamin Kaduk (cherry picked from commit d9cfc1f3f5a75f1dbb14a56cd3da9db6b7a48065) Change-Id: If1ef28955b08db4d95d6bd8a3b833895243f858a Reviewed-on: https://gerrit.openafs.org/12300 Tested-by: BuildBot Reviewed-by: Stephan Wiesand Tested-by: Stephan Wiesand --- diff --git a/acinclude.m4 b/acinclude.m4 index 4f8e2c0e0..c8a7ceb31 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1034,6 +1034,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) [#include #include ], [kthread_run(NULL, NULL, "test");]) + AC_CHECK_LINUX_FUNC([inode_nohighmem], + [#include ], + [inode_nohighmem(NULL);]) dnl Consequences - things which get set as a result of the dnl above tests diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index 1b99c943b..2f753dd46 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -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;