ZAP: Add by_dnode variants to lookup/prefetch_uint64
[zfs.git] / config / kernel-generic_fillattr.m4
blobd355f9006bd389205429fd8e672a2d11af4dd62e
1 dnl #
2 dnl # 5.12 API
3 dnl #
4 dnl # generic_fillattr in linux/fs.h now requires a struct user_namespace*
5 dnl # as the first arg, to support idmapped mounts.
6 dnl #
7 dnl # 6.3 API
8 dnl # generic_fillattr() now takes struct mnt_idmap* as the first argument
9 dnl #
10 dnl # 6.6 API
11 dnl # generic_fillattr() now takes u32 as second argument, representing a
12 dnl # request_mask for statx
13 dnl #
14 AC_DEFUN([ZFS_AC_KERNEL_SRC_GENERIC_FILLATTR], [
15         ZFS_LINUX_TEST_SRC([generic_fillattr_userns], [
16                 #include <linux/fs.h>
17         ],[
18                 struct user_namespace *userns = NULL;
19                 struct inode *in = NULL;
20                 struct kstat *k = NULL;
21                 generic_fillattr(userns, in, k);
22         ])
24         ZFS_LINUX_TEST_SRC([generic_fillattr_mnt_idmap], [
25                 #include <linux/fs.h>
26         ],[
27                 struct mnt_idmap *idmap = NULL;
28                 struct inode *in = NULL;
29                 struct kstat *k = NULL;
30                 generic_fillattr(idmap, in, k);
31         ])
33         ZFS_LINUX_TEST_SRC([generic_fillattr_mnt_idmap_reqmask], [
34                 #include <linux/fs.h>
35         ],[
36                 struct mnt_idmap *idmap = NULL;
37                 struct inode *in = NULL;
38                 struct kstat *k = NULL;
39                 generic_fillattr(idmap, 0, in, k);
40         ])
43 AC_DEFUN([ZFS_AC_KERNEL_GENERIC_FILLATTR], [
44         AC_MSG_CHECKING(
45             [whether generic_fillattr requires struct mnt_idmap* and request_mask])
46         ZFS_LINUX_TEST_RESULT([generic_fillattr_mnt_idmap_reqmask], [
47                 AC_MSG_RESULT([yes])
48                 AC_DEFINE(HAVE_GENERIC_FILLATTR_IDMAP_REQMASK, 1,
49                     [generic_fillattr requires struct mnt_idmap* and u32 request_mask])
50         ],[
51                 AC_MSG_RESULT([no])
53                 AC_MSG_CHECKING([whether generic_fillattr requires struct mnt_idmap*])
54                 ZFS_LINUX_TEST_RESULT([generic_fillattr_mnt_idmap], [
55                         AC_MSG_RESULT([yes])
56                         AC_DEFINE(HAVE_GENERIC_FILLATTR_IDMAP, 1,
57                                 [generic_fillattr requires struct mnt_idmap*])
58                 ],[
59                         AC_MSG_RESULT([no])
61                         AC_MSG_CHECKING([whether generic_fillattr requires struct user_namespace*])
62                         ZFS_LINUX_TEST_RESULT([generic_fillattr_userns], [
63                                 AC_MSG_RESULT([yes])
64                                 AC_DEFINE(HAVE_GENERIC_FILLATTR_USERNS, 1,
65                                         [generic_fillattr requires struct user_namespace*])
66                         ],[
67                                 AC_MSG_RESULT([no])
68                         ])
69                 ])
70         ])