xref: /freebsd/sys/contrib/openzfs/config/kernel-fs-parse.m4 (revision d9497217456002b0ddad3cd319570d0b098daa29)
1*d9497217SMartin Matuskadnl # SPDX-License-Identifier: CDDL-1.0
2*d9497217SMartin Matuskadnl #
3*d9497217SMartin Matuskadnl # 5.6 API change
4*d9497217SMartin Matuskadnl # Before 5.6, fs_parse() took a struct fs_parameter_description
5*d9497217SMartin Matuskadnl # which wraps the parameter specs with name and enum pointers. From 5.6,
6*d9497217SMartin Matuskadnl # the description struct was removed and fs_parse() accepts the
7*d9497217SMartin Matuskadnl # fs_parameter_spec directly.
8*d9497217SMartin Matuskadnl #
9*d9497217SMartin MatuskaAC_DEFUN([ZFS_AC_KERNEL_SRC_FS_PARSE], [
10*d9497217SMartin Matuska	ZFS_LINUX_TEST_SRC([fs_parse], [
11*d9497217SMartin Matuska		#include <linux/fs_context.h>
12*d9497217SMartin Matuska		#include <linux/fs_parser.h>
13*d9497217SMartin Matuska	],[
14*d9497217SMartin Matuska		static const struct fs_parameter_spec specs[] = {
15*d9497217SMartin Matuska			{}
16*d9497217SMartin Matuska		};
17*d9497217SMartin Matuska		int test __attribute__ ((unused));
18*d9497217SMartin Matuska		struct fs_context *fc __attribute__ ((unused)) = NULL;
19*d9497217SMartin Matuska		struct fs_parameter param __attribute__ ((unused));
20*d9497217SMartin Matuska		struct fs_parse_result result __attribute__ ((unused));
21*d9497217SMartin Matuska		test = fs_parse(fc, specs, &param, &result);
22*d9497217SMartin Matuska	])
23*d9497217SMartin Matuska])
24*d9497217SMartin Matuska
25*d9497217SMartin MatuskaAC_DEFUN([ZFS_AC_KERNEL_FS_PARSE], [
26*d9497217SMartin Matuska	AC_MSG_CHECKING([whether fs_parse() takes fs_parameter_spec directly])
27*d9497217SMartin Matuska	ZFS_LINUX_TEST_RESULT([fs_parse], [
28*d9497217SMartin Matuska		AC_MSG_RESULT(yes)
29*d9497217SMartin Matuska		AC_DEFINE(HAVE_FS_PARSE_TAKES_SPEC, 1,
30*d9497217SMartin Matuska		    [fs_parse() takes fs_parameter_spec directly])
31*d9497217SMartin Matuska	],[
32*d9497217SMartin Matuska		AC_MSG_RESULT(no)
33*d9497217SMartin Matuska	])
34*d9497217SMartin Matuska])
35