X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=config%2Fkernel-dentry-operations.m4;h=3182490c908c8737bd33f072efc35cd1dce61d16;hb=c93504f03a0881992689069a8f78e17933dcd5b3;hp=5685b7d6fab3c6800d1fb99f6e9a612a57600e38;hpb=f1a05fa11484d67161606fd1ecf50bf2abc25ced;p=zfs.git diff --git a/config/kernel-dentry-operations.m4 b/config/kernel-dentry-operations.m4 index 5685b7d..3182490 100644 --- a/config/kernel-dentry-operations.m4 +++ b/config/kernel-dentry-operations.m4 @@ -5,12 +5,16 @@ AC_DEFUN([ZFS_AC_KERNEL_D_REVALIDATE_NAMEIDATA], [ AC_MSG_CHECKING([whether dops->d_revalidate() takes struct nameidata]) ZFS_LINUX_TRY_COMPILE([ #include - ],[ - int (*revalidate) (struct dentry *, struct nameidata *) = NULL; - struct dentry_operations dops __attribute__ ((unused)) = { - .d_revalidate = revalidate, + + int revalidate (struct dentry *dentry, + struct nameidata *nidata) { return 0; } + + static const struct dentry_operations + dops __attribute__ ((unused)) = { + .d_revalidate = revalidate, }; ],[ + ],[ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_D_REVALIDATE_NAMEIDATA, 1, [dops->d_revalidate() operation takes nameidata]) @@ -62,3 +66,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) + ]) +])