]> git.proxmox.com Git - mirror_zfs.git/blobdiff - config/kernel-bio-failfast.m4
Add CODE_OF_CONDUCT.md
[mirror_zfs.git] / config / kernel-bio-failfast.m4
index acc6575629dd36608d7cdac70f3f1e79b6c79e5a..cfbec05238ceeb96ee2755d23e34031c9661ed26 100644 (file)
@@ -1,22 +1,39 @@
 dnl #
-dnl # 2.6.28 API change
-dnl # Device, transport, and driver FAILFAST flags were added and
-dnl # the now legacy BIO_RW_FAILFAST flag was removed.
+dnl # Preferred interface for setting FAILFAST on a bio:
+dnl #   2.6.28-2.6.35: BIO_RW_FAILFAST_{DEV|TRANSPORT|DRIVER}
+dnl #       >= 2.6.36: REQ_FAILFAST_{DEV|TRANSPORT|DRIVER}
 dnl #
-AC_DEFUN([ZFS_AC_KERNEL_BIO_FAILFAST], [
+
+AC_DEFUN([ZFS_AC_KERNEL_BIO_FAILFAST_DTD], [
        AC_MSG_CHECKING([whether BIO_RW_FAILFAST_* are defined])
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/bio.h>
        ],[
-               int flags;
+               int flags __attribute__ ((unused));
                flags = ((1 << BIO_RW_FAILFAST_DEV) |
                         (1 << BIO_RW_FAILFAST_TRANSPORT) |
                         (1 << BIO_RW_FAILFAST_DRIVER));
        ],[
                AC_MSG_RESULT(yes)
-               AC_DEFINE(HAVE_BIO_RW_FAILFAST, 1,
+               AC_DEFINE(HAVE_BIO_RW_FAILFAST_DTD, 1,
                          [BIO_RW_FAILFAST_* are defined])
        ],[
                AC_MSG_RESULT(no)
        ])
 ])
+
+AC_DEFUN([ZFS_AC_KERNEL_REQ_FAILFAST_MASK], [
+       AC_MSG_CHECKING([whether REQ_FAILFAST_MASK is defined])
+       ZFS_LINUX_TRY_COMPILE([
+               #include <linux/bio.h>
+       ],[
+               int flags __attribute__ ((unused));
+               flags = REQ_FAILFAST_MASK;
+       ],[
+               AC_MSG_RESULT(yes)
+               AC_DEFINE(HAVE_REQ_FAILFAST_MASK, 1,
+                         [REQ_FAILFAST_MASK is defined])
+       ],[
+               AC_MSG_RESULT(no)
+       ])
+])