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, ¶m, &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