summaryrefslogtreecommitdiffstats
path: root/config/kernel-bio-rw-barrier.m4
blob: f667d48844ff5439d9889a5aaaea8e11b1c24943 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
dnl #
dnl # Interface for issuing a discard bio:
dnl # 2.6.28-2.6.35: BIO_RW_BARRIER
dnl # 2.6.36-3.x:    REQ_BARRIER
dnl #
dnl #
dnl # Since REQ_BARRIER is a preprocessor definition, there is no need for an
dnl # autotools check for it. Also, REQ_BARRIER existed in the request layer
dnl # until torvalds/linux@7b6d91daee5cac6402186ff224c3af39d79f4a0e unified the
dnl # request layer and bio layer flags, so it would be wrong to assume that
dnl # the APIs are mutually exclusive contrary to the typical case.
dnl #
AC_DEFUN([ZFS_AC_KERNEL_SRC_BIO_RW_BARRIER], [
	ZFS_LINUX_TEST_SRC([bio_rw_barrier], [
		#include <linux/bio.h>
	],[
		int flags __attribute__ ((unused));
		flags = BIO_RW_BARRIER;
	])
])

AC_DEFUN([ZFS_AC_KERNEL_BIO_RW_BARRIER], [
	AC_MSG_CHECKING([whether BIO_RW_BARRIER is defined])
	ZFS_LINUX_TEST_RESULT([bio_rw_barrier], [
		AC_MSG_RESULT(yes)
		AC_DEFINE(HAVE_BIO_RW_BARRIER, 1, [BIO_RW_BARRIER is defined])
	],[
		AC_MSG_RESULT(no)
	])
])