xref: /freebsd/sys/contrib/openzfs/config/kernel-vfs-fop-flags.m4 (revision 2f10ffc003be396f3fc23cd2888023896560252b)
1dnl # SPDX-License-Identifier: CDDL-1.0
2dnl #
3dnl # Linux 6.12 collected a set of per-file capability flags into a fop_flags
4dnl # member of struct file_operations.  The FOP_* flags themselves are plain
5dnl # defines that the source can test with #ifdef, so only the member needs
6dnl # to be detected here.
7dnl #
8AC_DEFUN([ZFS_AC_KERNEL_SRC_VFS_FOP_FLAGS], [
9	ZFS_LINUX_TEST_SRC([vfs_has_fop_flags], [
10		#include <linux/fs.h>
11
12		static const struct file_operations
13		    fops __attribute__ ((unused)) = {
14			.fop_flags	= 0,
15		};
16	],[])
17])
18
19AC_DEFUN([ZFS_AC_KERNEL_VFS_FOP_FLAGS], [
20	AC_MSG_CHECKING([whether file_operations has fop_flags])
21	ZFS_LINUX_TEST_RESULT([vfs_has_fop_flags], [
22		AC_MSG_RESULT([yes])
23		AC_DEFINE(HAVE_VFS_FOP_FLAGS, 1,
24		    [file_operations has fop_flags])
25	],[
26		AC_MSG_RESULT([no])
27	])
28])
29