3 dnl # See torvalds/linux@a528d35
5 AC_DEFUN([ZFS_AC_PATH_KERNEL_IOPS_GETATTR], [
6 AC_MSG_CHECKING([whether iops->getattr() takes a path])
7 ZFS_LINUX_TRY_COMPILE([
11 const struct path *p, struct kstat *k,
12 u32 request_mask, unsigned int query_flags)
15 static const struct inode_operations
16 iops __attribute__ ((unused)) = {
17 .getattr = test_getattr,
22 AC_DEFINE(HAVE_PATH_IOPS_GETATTR, 1,
23 [iops->getattr() takes a path])
32 dnl # Linux 3.9 - 4.10 API
34 AC_DEFUN([ZFS_AC_VFSMOUNT_KERNEL_IOPS_GETATTR], [
35 AC_MSG_CHECKING([whether iops->getattr() takes a vfsmount])
36 ZFS_LINUX_TRY_COMPILE([
40 struct vfsmount *mnt, struct dentry *d,
44 static const struct inode_operations
45 iops __attribute__ ((unused)) = {
46 .getattr = test_getattr,
51 AC_DEFINE(HAVE_VFSMOUNT_IOPS_GETATTR, 1,
52 [iops->getattr() takes a vfsmount])
60 dnl # The interface of the getattr callback from the inode_operations
61 dnl # structure changed. Also, the interface of the simple_getattr()
62 dnl # function provided by the kernel changed.
64 AC_DEFUN([ZFS_AC_KERNEL_INODE_OPERATIONS_GETATTR], [
65 ZFS_AC_PATH_KERNEL_IOPS_GETATTR
66 ZFS_AC_VFSMOUNT_KERNEL_IOPS_GETATTR