]>
Commit | Line | Data |
---|---|---|
7b98f0d9 BB |
1 | dnl # |
2 | dnl # 2.6.38 API change | |
3 | dnl # | |
4 | AC_DEFUN([ZFS_AC_KERNEL_BLOCK_DEVICE_OPERATIONS_CHECK_EVENTS], [ | |
5 | AC_MSG_CHECKING([whether bops->check_events() exists]) | |
6 | tmp_flags="$EXTRA_KCFLAGS" | |
7 | EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}" | |
8 | ZFS_LINUX_TRY_COMPILE([ | |
9 | #include <linux/blkdev.h> | |
10 | ||
11 | unsigned int blk_check_events(struct gendisk *disk, | |
12 | unsigned int clearing) { return (0); } | |
13 | ||
14 | static const struct block_device_operations | |
15 | bops __attribute__ ((unused)) = { | |
16 | .check_events = blk_check_events, | |
17 | }; | |
18 | ],[ | |
19 | ],[ | |
20 | AC_MSG_RESULT(yes) | |
21 | AC_DEFINE(HAVE_BLOCK_DEVICE_OPERATIONS_CHECK_EVENTS, 1, | |
22 | [bops->check_events() exists]) | |
23 | ],[ | |
24 | AC_MSG_RESULT(no) | |
25 | ]) | |
26 | EXTRA_KCFLAGS="$tmp_flags" | |
27 | ]) | |
28 | ||
29 | dnl # | |
30 | dnl # 3.10.x API change | |
31 | dnl # | |
32 | AC_DEFUN([ZFS_AC_KERNEL_BLOCK_DEVICE_OPERATIONS_RELEASE_VOID], [ | |
33 | AC_MSG_CHECKING([whether bops->release() is void]) | |
34 | tmp_flags="$EXTRA_KCFLAGS" | |
35 | EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}" | |
36 | ZFS_LINUX_TRY_COMPILE([ | |
37 | #include <linux/blkdev.h> | |
38 | ||
39 | void blk_release(struct gendisk *g, fmode_t mode) { return; } | |
40 | ||
41 | static const struct block_device_operations | |
42 | bops __attribute__ ((unused)) = { | |
43 | .open = NULL, | |
44 | .release = blk_release, | |
45 | .ioctl = NULL, | |
46 | .compat_ioctl = NULL, | |
47 | }; | |
48 | ],[ | |
49 | ],[ | |
50 | AC_MSG_RESULT(void) | |
51 | AC_DEFINE(HAVE_BLOCK_DEVICE_OPERATIONS_RELEASE_VOID, 1, | |
52 | [bops->release() returns void]) | |
53 | ],[ | |
54 | AC_MSG_RESULT(int) | |
55 | ]) | |
56 | EXTRA_KCFLAGS="$tmp_flags" | |
57 | ]) |