--- zfs-0.6.3/config/kernel-bdi-setup-and-register.m4.orig 2014-06-12 22:58:09.000000000 +0200 +++ zfs-0.6.3/config/kernel-bdi-setup-and-register.m4 2015-04-19 14:12:52.429710415 +0200 @@ -9,8 +9,13 @@ [AC_MSG_CHECKING([whether bdi_setup_and_register() is available]) ZFS_LINUX_TRY_COMPILE_SYMBOL([ #include + #include ], [ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0) + int r = bdi_setup_and_register(NULL, NULL); + #else int r = bdi_setup_and_register(NULL, NULL, 0); + #endif r = *(&r); ], [bdi_setup_and_register], [mm/backing-dev.c], [ AC_MSG_RESULT(yes) --- zfs-0.6.3/module/zfs/zfs_vfsops.c~ 2014-06-12 22:58:09.000000000 +0200 +++ zfs-0.6.3/module/zfs/zfs_vfsops.c 2015-04-19 14:14:13.503040887 +0200 @@ -67,6 +67,7 @@ #include #include #include "zfs_comutil.h" +#include "linux/version.h" /*ARGSUSED*/ @@ -1241,7 +1241,11 @@ zsb->z_bdi.ra_pages = 0; sb->s_bdi = &zsb->z_bdi; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0) + error = -bdi_setup_and_register(&zsb->z_bdi, "zfs"); +#else error = -bdi_setup_and_register(&zsb->z_bdi, "zfs", BDI_CAP_MAP_COPY); +#endif if (error) goto out; #endif /* HAVE_BDI */