mirror_zfs/config/kernel-evict-inode.m4
Brian Behlendorf ddd052aa83 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 <behlendorf1@llnl.gov>
Closes #296
2011-08-08 16:42:09 -07:00

22 lines
576 B
Plaintext

dnl #
dnl # 2.6.36 API change
dnl # The sops->delete_inode() and sops->clear_inode() callbacks have
dnl # replaced by a single sops->evict_inode() callback.
dnl #
AC_DEFUN([ZFS_AC_KERNEL_EVICT_INODE], [
AC_MSG_CHECKING([whether sops->evict_inode() exists])
ZFS_LINUX_TRY_COMPILE([
#include <linux/fs.h>
],[
void (*evict_inode) (struct inode *) = NULL;
struct super_operations sops __attribute__ ((unused)) = {
.evict_inode = evict_inode,
};
],[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_EVICT_INODE, 1, [sops->evict_inode() exists])
],[
AC_MSG_RESULT(no)
])
])