2 dnl # 2.6.32 - 2.6.33, bdi_setup_and_register() is not exported.
3 dnl # 2.6.34 - 3.19, bdi_setup_and_register() takes 3 arguments.
4 dnl # 4.0 - 4.11, bdi_setup_and_register() takes 2 arguments.
5 dnl # 4.12 - x.y, super_setup_bdi_name() new interface.
7 AC_DEFUN([ZFS_AC_KERNEL_BDI], [
8 AC_MSG_CHECKING([whether super_setup_bdi_name() exists])
9 ZFS_LINUX_TRY_COMPILE_SYMBOL([
11 struct super_block sb;
14 int error __attribute__((unused)) =
15 super_setup_bdi_name(&sb, name);
16 ], [super_setup_bdi_name], [fs/super.c], [
18 AC_DEFINE(HAVE_SUPER_SETUP_BDI_NAME, 1,
19 [super_setup_bdi_name() exits])
23 [whether bdi_setup_and_register() wants 2 args])
24 ZFS_LINUX_TRY_COMPILE_SYMBOL([
25 #include <linux/backing-dev.h>
26 struct backing_dev_info bdi;
29 int error __attribute__((unused)) =
30 bdi_setup_and_register(&bdi, name);
31 ], [bdi_setup_and_register], [mm/backing-dev.c], [
33 AC_DEFINE(HAVE_2ARGS_BDI_SETUP_AND_REGISTER, 1,
34 [bdi_setup_and_register() wants 2 args])
38 [whether bdi_setup_and_register() wants 3 args])
39 ZFS_LINUX_TRY_COMPILE_SYMBOL([
40 #include <linux/backing-dev.h>
41 struct backing_dev_info bdi;
44 unsigned int cap = BDI_CAP_MAP_COPY;
45 int error __attribute__((unused)) =
46 bdi_setup_and_register(&bdi, name, cap);
47 ], [bdi_setup_and_register], [mm/backing-dev.c], [
49 AC_DEFINE(HAVE_3ARGS_BDI_SETUP_AND_REGISTER, 1,
50 [bdi_setup_and_register() wants 3 args])