]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - config/kernel-bdi-setup-and-register.m4
fix booting via dracut generated initramfs
[FreeBSD/FreeBSD.git] / config / kernel-bdi-setup-and-register.m4
1 dnl #
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 - x.y, bdi_setup_and_register() takes 2 arguments.
5 dnl #
6 AC_DEFUN([ZFS_AC_KERNEL_BDI_SETUP_AND_REGISTER], [
7         AC_MSG_CHECKING([whether bdi_setup_and_register() wants 2 args])
8         ZFS_LINUX_TRY_COMPILE_SYMBOL([
9                 #include <linux/backing-dev.h>
10                 struct backing_dev_info bdi;
11         ], [
12                 char *name = "bdi";
13                 int error __attribute__((unused)) =
14                     bdi_setup_and_register(&bdi, name);
15         ], [bdi_setup_and_register], [mm/backing-dev.c], [
16                 AC_MSG_RESULT(yes)
17                 AC_DEFINE(HAVE_2ARGS_BDI_SETUP_AND_REGISTER, 1,
18                     [bdi_setup_and_register() wants 2 args])
19         ], [
20                 AC_MSG_RESULT(no)
21                 AC_MSG_CHECKING([whether bdi_setup_and_register() wants 3 args])
22                 ZFS_LINUX_TRY_COMPILE_SYMBOL([
23                         #include <linux/backing-dev.h>
24                         struct backing_dev_info bdi;
25                 ], [
26                         char *name = "bdi";
27                         unsigned int cap = BDI_CAP_MAP_COPY;
28                         int error __attribute__((unused)) =
29                             bdi_setup_and_register(&bdi, name, cap);
30                 ], [bdi_setup_and_register], [mm/backing-dev.c], [
31                         AC_MSG_RESULT(yes)
32                         AC_DEFINE(HAVE_3ARGS_BDI_SETUP_AND_REGISTER, 1,
33                             [bdi_setup_and_register() wants 3 args])
34                 ], [
35                         AC_MSG_RESULT(no)
36                 ])
37         ])
38 ])