From ee93035378ff1f0769bb4216dc35057a2f14f9b9 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Fri, 18 Jan 2013 14:11:40 -0800 Subject: Use sb->s_d_op default dentry operations As of Linux 2.6.37 the right way to register custom dentry operations is to use the super block's ->s_d_op field. For older kernels they should be registered as part of the lookup operation. Signed-off-by: Brian Behlendorf Closes #1223 --- config/kernel-dentry-operations.m4 | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'config/kernel-dentry-operations.m4') diff --git a/config/kernel-dentry-operations.m4 b/config/kernel-dentry-operations.m4 index 5685b7d6f..dfbea7dfd 100644 --- a/config/kernel-dentry-operations.m4 +++ b/config/kernel-dentry-operations.m4 @@ -62,3 +62,22 @@ AC_DEFUN([ZFS_AC_KERNEL_D_SET_D_OP], AC_MSG_RESULT(no) ]) ]) + +dnl # +dnl # 2.6.38 API chage +dnl # Added sb->s_d_op default dentry_operations member +dnl # +AC_DEFUN([ZFS_AC_KERNEL_S_D_OP], + [AC_MSG_CHECKING([whether super_block has s_d_op]) + ZFS_LINUX_TRY_COMPILE([ + #include + ],[ + struct super_block sb __attribute__ ((unused)); + sb.s_d_op = NULL; + ], [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_S_D_OP, 1, [struct super_block has s_d_op]) + ], [ + AC_MSG_RESULT(no) + ]) +]) -- cgit v1.2.3