aboutsummaryrefslogtreecommitdiffstats
path: root/config/kernel-block-device-operations-release-void.m4
blob: a73f858722a0422d103315707a9de87df9ae135c (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
dnl #
dnl # 3.10.x API change
dnl #
AC_DEFUN([ZFS_AC_KERNEL_BLOCK_DEVICE_OPERATIONS_RELEASE_VOID], [
	AC_MSG_CHECKING([whether block_device_operations.release is void])
	tmp_flags="$EXTRA_KCFLAGS"
	EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
	ZFS_LINUX_TRY_COMPILE([
		#include <linux/blkdev.h>

		void blk_release(struct gendisk *g, fmode_t mode) { return; }

		static const struct block_device_operations
		    bops __attribute__ ((unused)) = {
			.open		= NULL,
			.release	= blk_release,
			.ioctl		= NULL,
			.compat_ioctl	= NULL,
		};
	],[
	],[
		AC_MSG_RESULT(void)
		AC_DEFINE(HAVE_BLOCK_DEVICE_OPERATIONS_RELEASE_VOID, 1,
		          [struct block_device_operations.release returns void])
	],[
		AC_MSG_RESULT(int)
	])
	EXTRA_KCFLAGS="$tmp_flags"
])