summaryrefslogtreecommitdiffstats
path: root/config/kernel-bio-rw-discard.m4
blob: 34a89279c20fc53231767fa5c283103cb6ecdbbe (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_DISCARD
dnl # 2.6.36-3.x:    REQ_DISCARD
dnl #
dnl #
dnl # Since REQ_DISCARD is a preprocessor definition, there is no need for an
dnl # autotools check for it. Also, REQ_DISCARD 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_DISCARD], [
	ZFS_LINUX_TEST_SRC([bio_rw_discard], [
		#include <linux/bio.h>
	],[
		int flags __attribute__ ((unused));
		flags = BIO_RW_DISCARD;
	])
])

AC_DEFUN([ZFS_AC_KERNEL_BIO_RW_DISCARD], [
	AC_MSG_CHECKING([whether BIO_RW_DISCARD is defined])
	ZFS_LINUX_TEST_RESULT([bio_rw_discard], [
		AC_MSG_RESULT(yes)
		AC_DEFINE(HAVE_BIO_RW_DISCARD, 1, [BIO_RW_DISCARD is defined])
	],[
		AC_MSG_RESULT(no)
	])
])