Files
mirror_zfs/config/kernel-automount.m4
T

64 lines
1.8 KiB
Plaintext
Raw Normal View History

dnl # SPDX-License-Identifier: CDDL-1.0
2011-11-11 12:45:53 +05:30
dnl #
dnl # 2.6.37 API change
dnl # The dops->d_automount() dentry operation was added as a clean
dnl # solution to handling automounts. Prior to this cifs/nfs clients
dnl # which required automount support would abuse the follow_link()
dnl # operation on directories for this purpose.
dnl #
AC_DEFUN([ZFS_AC_KERNEL_SRC_D_AUTOMOUNT], [
2019-10-01 12:50:34 -07:00
ZFS_LINUX_TEST_SRC([dentry_operations_d_automount], [
2011-11-11 12:45:53 +05:30
#include <linux/dcache.h>
static struct vfsmount *d_automount(struct path *p) { return NULL; }
2011-11-11 12:45:53 +05:30
struct dentry_operations dops __attribute__ ((unused)) = {
.d_automount = d_automount,
};
2019-11-12 08:59:06 -08:00
])
2019-10-01 12:50:34 -07:00
])
AC_DEFUN([ZFS_AC_KERNEL_D_AUTOMOUNT], [
2019-10-01 12:50:34 -07:00
AC_MSG_CHECKING([whether dops->d_automount() exists])
ZFS_LINUX_TEST_RESULT([dentry_operations_d_automount], [
2011-11-11 12:45:53 +05:30
AC_MSG_RESULT(yes)
],[
2019-11-12 08:59:06 -08:00
ZFS_LINUX_TEST_ERROR([dops->d_automount()])
2011-11-11 12:45:53 +05:30
])
])
dnl #
dnl # 6.14 API change
dnl # dops->d_revalidate now has four args.
dnl #
AC_DEFUN([ZFS_AC_KERNEL_SRC_D_REVALIDATE_4ARGS], [
ZFS_LINUX_TEST_SRC([dentry_operations_d_revalidate_4args], [
#include <linux/dcache.h>
static int d_revalidate(struct inode *dir,
const struct qstr *name, struct dentry *dentry,
unsigned int fl) { return 0; }
struct dentry_operations dops __attribute__ ((unused)) = {
.d_revalidate = d_revalidate,
};
])
])
AC_DEFUN([ZFS_AC_KERNEL_D_REVALIDATE_4ARGS], [
AC_MSG_CHECKING([whether dops->d_revalidate() takes 4 args])
ZFS_LINUX_TEST_RESULT([dentry_operations_d_revalidate_4args], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_D_REVALIDATE_4ARGS, 1,
[dops->d_revalidate() takes 4 args])
],[
AC_MSG_RESULT(no)
])
])
AC_DEFUN([ZFS_AC_KERNEL_SRC_AUTOMOUNT], [
ZFS_AC_KERNEL_SRC_D_AUTOMOUNT
ZFS_AC_KERNEL_SRC_D_REVALIDATE_4ARGS
])
AC_DEFUN([ZFS_AC_KERNEL_AUTOMOUNT], [
ZFS_AC_KERNEL_D_AUTOMOUNT
ZFS_AC_KERNEL_D_REVALIDATE_4ARGS
])