mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-03-11 21:06:18 +03:00
Sponsored-by: https://despairlabs.com/sponsor/ Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Rob Norris <robn@despairlabs.com> Closes #18077
64 lines
1.8 KiB
Plaintext
64 lines
1.8 KiB
Plaintext
dnl # SPDX-License-Identifier: CDDL-1.0
|
|
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], [
|
|
ZFS_LINUX_TEST_SRC([dentry_operations_d_automount], [
|
|
#include <linux/dcache.h>
|
|
static struct vfsmount *d_automount(struct path *p) { return NULL; }
|
|
struct dentry_operations dops __attribute__ ((unused)) = {
|
|
.d_automount = d_automount,
|
|
};
|
|
])
|
|
])
|
|
|
|
AC_DEFUN([ZFS_AC_KERNEL_D_AUTOMOUNT], [
|
|
AC_MSG_CHECKING([whether dops->d_automount() exists])
|
|
ZFS_LINUX_TEST_RESULT([dentry_operations_d_automount], [
|
|
AC_MSG_RESULT(yes)
|
|
],[
|
|
ZFS_LINUX_TEST_ERROR([dops->d_automount()])
|
|
])
|
|
])
|
|
|
|
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
|
|
])
|