Whamcloud - gitweb
LU-6215 llite: handle backing_dev_info removal
[fs/lustre-release.git] / lustre / autoconf / lustre-core.m4
index 0d83e19..96f4769 100644 (file)
@@ -1786,6 +1786,45 @@ ki_nbytes, [
 ]) # LC_KIOCB_HAS_NBYTES
 
 #
+# LC_BACKING_DEV_INFO_REMOVAL
+#
+# 3.20 kernel removed backing_dev_info from address_space
+#
+AC_DEFUN([LC_BACKING_DEV_INFO_REMOVAL], [
+LB_CHECK_COMPILE([if struct address_space has backing_dev_info],
+backing_dev_info, [
+       #include <linux/fs.h>
+],[
+       struct address_space mapping;
+
+       mapping.backing_dev_info = NULL;
+],[
+       AC_DEFINE(HAVE_BACKING_DEV_INFO, 1, [backing_dev_info exist])
+])
+]) # LC_BACKING_DEV_INFO_REMOVAL
+
+#
+# LC_HAVE_BDI_CAP_MAP_COPY
+#
+# 3.20  removed mmap handling for backing devices since
+#      it breaks on non-MMU systems. See kernel commit
+#      b4caecd48005fbed3949dde6c1cb233142fd69e9
+#
+AC_DEFUN([LC_HAVE_BDI_CAP_MAP_COPY], [
+LB_CHECK_COMPILE([if have 'BDI_CAP_MAP_COPY'],
+bdi_cap_map_copy, [
+       #include <linux/backing-dev.h>
+],[
+       struct backing_dev_info info;
+
+       info.capabilities = BDI_CAP_MAP_COPY;
+],[
+       AC_DEFINE(HAVE_BDI_CAP_MAP_COPY, 1,
+               [BDI_CAP_MAP_COPY exist])
+])
+]) # LC_HAVE_BDI_CAP_MAP_COPY
+
+#
 # LC_CANCEL_DIRTY_PAGE
 #
 # 4.0.0 kernel removed cancle_dirty_page
@@ -1977,6 +2016,10 @@ AC_DEFUN([LC_PROG_LINUX], [
        # 3.19
        LC_KIOCB_HAS_NBYTES
 
+       # 3.20
+       LC_BACKING_DEV_INFO_REMOVAL
+       LC_HAVE_BDI_CAP_MAP_COPY
+
        # 4.0.0
        LC_CANCEL_DIRTY_PAGE