+# LC_BI_STATUS
+#
+# 4.12 replace bi_error to bi_status
+#
+AC_DEFUN([LC_BI_STATUS], [
+LB_CHECK_COMPILE([if 'bi_status' exist],
+bi_status, [
+ #include <linux/blk_types.h>
+],[
+ ((struct bio *)0)->bi_status = 0;
+],[
+ AC_DEFINE(HAVE_BI_STATUS, 1,
+ ['bi_status' is available])
+])
+]) # LC_BI_STATUS
+
+#
+# LC_BIO_INTEGRITY_ENABLED
+#
+# 4.13 removed bio_integrity_enabled
+#
+AC_DEFUN([LC_BIO_INTEGRITY_ENABLED], [
+LB_CHECK_COMPILE([if 'bio_integrity_enabled' exist],
+bio_integrity_enabled, [
+ #include <linux/bio.h>
+],[
+ bio_integrity_enabled(NULL);
+],[
+ AC_DEFINE(HAVE_BIO_INTEGRITY_ENABLED, 1,
+ ['bio_integrity_enabled' is available])
+])
+]) # LC_BIO_INTEGRITY_ENABLED
+
+#
+# LC_PAGEVEC_INIT_ONE_PARAM
+#
+# 4.14 pagevec_init takes one parameter
+#
+AC_DEFUN([LC_PAGEVEC_INIT_ONE_PARAM], [
+LB_CHECK_COMPILE([if 'pagevec_init' takes one parameter],
+pagevec_init, [
+ #include <linux/pagevec.h>
+],[
+ pagevec_init(NULL);
+],[
+ AC_DEFINE(HAVE_PAGEVEC_INIT_ONE_PARAM, 1,
+ ['pagevec_init' takes one parameter])
+])
+]) # LC_PAGEVEC_INIT_ONE_PARAM
+
+#
+# LC_BI_BDEV
+#
+# 4.14 replaced bi_bdev to bi_disk
+#
+AC_DEFUN([LC_BI_BDEV], [
+LB_CHECK_COMPILE([if 'bi_bdev' exist],
+bi_bdev, [
+ #include <linux/bio.h>
+],[
+ ((struct bio *)0)->bi_bdev = NULL;
+],[
+ AC_DEFINE(HAVE_BI_BDEV, 1,
+ ['bi_bdev' is available])
+])
+]) # LC_BI_BDEV
+
+#