summaryrefslogtreecommitdiffstats
path: root/config/kernel-evict-inode.m4
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2011-08-05 16:55:04 -0700
committerBrian Behlendorf <[email protected]>2011-08-08 16:42:09 -0700
commitddd052aa8311f846e3d3f7a9ddf1a21d317fb04a (patch)
treebfbfeabb2d13f1d1f9b057e4c45ce86da85b61a4 /config/kernel-evict-inode.m4
parentde0a1c099b7dc6722eb428838e893a4d9490a21e (diff)
Improve HAVE_EVICT_INODE check
The hardened gentoo kernel defines all of the super block operation callbacks as const. This prevents the autoconf test from assigning the callback and results in a false negative. By moving the assignment in to the declaration we can avoid this issue and get a correct result for this patched kernel. Signed-off-by: Brian Behlendorf <[email protected]> Closes #296
Diffstat (limited to 'config/kernel-evict-inode.m4')
-rw-r--r--config/kernel-evict-inode.m46
1 files changed, 3 insertions, 3 deletions
diff --git a/config/kernel-evict-inode.m4 b/config/kernel-evict-inode.m4
index f748898c3..0700792f9 100644
--- a/config/kernel-evict-inode.m4
+++ b/config/kernel-evict-inode.m4
@@ -9,9 +9,9 @@ AC_DEFUN([ZFS_AC_KERNEL_EVICT_INODE], [
#include <linux/fs.h>
],[
void (*evict_inode) (struct inode *) = NULL;
- struct super_operations sops __attribute__ ((unused));
-
- sops.evict_inode = evict_inode;
+ struct super_operations sops __attribute__ ((unused)) = {
+ .evict_inode = evict_inode,
+ };
],[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_EVICT_INODE, 1, [sops->evict_inode() exists])