xref: /freebsd/sys/contrib/openzfs/config/kernel-blkdev.m4 (revision 681ce946f33e75c590e97c53076e86dff1fe8f4a)
1eda14cbcSMatt Macydnl #
2eda14cbcSMatt Macydnl # 2.6.38 API change,
3eda14cbcSMatt Macydnl # Added blkdev_get_by_path()
4eda14cbcSMatt Macydnl #
5eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_GET_BY_PATH], [
6eda14cbcSMatt Macy	ZFS_LINUX_TEST_SRC([blkdev_get_by_path], [
7eda14cbcSMatt Macy		#include <linux/fs.h>
8eda14cbcSMatt Macy		#include <linux/blkdev.h>
9eda14cbcSMatt Macy	], [
10eda14cbcSMatt Macy		struct block_device *bdev __attribute__ ((unused)) = NULL;
11eda14cbcSMatt Macy		const char *path = "path";
12eda14cbcSMatt Macy		fmode_t mode = 0;
13eda14cbcSMatt Macy		void *holder = NULL;
14eda14cbcSMatt Macy
15eda14cbcSMatt Macy		bdev = blkdev_get_by_path(path, mode, holder);
16eda14cbcSMatt Macy	])
17eda14cbcSMatt Macy])
18eda14cbcSMatt Macy
19eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_BLKDEV_GET_BY_PATH], [
20eda14cbcSMatt Macy	AC_MSG_CHECKING([whether blkdev_get_by_path() exists])
21eda14cbcSMatt Macy	ZFS_LINUX_TEST_RESULT([blkdev_get_by_path], [
22eda14cbcSMatt Macy		AC_MSG_RESULT(yes)
23eda14cbcSMatt Macy	], [
24eda14cbcSMatt Macy		ZFS_LINUX_TEST_ERROR([blkdev_get_by_path()])
25eda14cbcSMatt Macy	])
26eda14cbcSMatt Macy])
27eda14cbcSMatt Macy
28eda14cbcSMatt Macydnl #
29eda14cbcSMatt Macydnl # 2.6.38 API change,
30eda14cbcSMatt Macydnl # Added blkdev_put()
31eda14cbcSMatt Macydnl #
32eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_PUT], [
33eda14cbcSMatt Macy	ZFS_LINUX_TEST_SRC([blkdev_put], [
34eda14cbcSMatt Macy		#include <linux/fs.h>
35eda14cbcSMatt Macy		#include <linux/blkdev.h>
36eda14cbcSMatt Macy	], [
37eda14cbcSMatt Macy		struct block_device *bdev = NULL;
38eda14cbcSMatt Macy		fmode_t mode = 0;
39eda14cbcSMatt Macy
40eda14cbcSMatt Macy		blkdev_put(bdev, mode);
41eda14cbcSMatt Macy	])
42eda14cbcSMatt Macy])
43eda14cbcSMatt Macy
44eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_BLKDEV_PUT], [
45eda14cbcSMatt Macy	AC_MSG_CHECKING([whether blkdev_put() exists])
46eda14cbcSMatt Macy	ZFS_LINUX_TEST_RESULT([blkdev_put], [
47eda14cbcSMatt Macy		AC_MSG_RESULT(yes)
48eda14cbcSMatt Macy	], [
49eda14cbcSMatt Macy		ZFS_LINUX_TEST_ERROR([blkdev_put()])
50eda14cbcSMatt Macy	])
51eda14cbcSMatt Macy])
52eda14cbcSMatt Macy
53eda14cbcSMatt Macydnl #
54eda14cbcSMatt Macydnl # 4.1 API, exported blkdev_reread_part() symbol, back ported to the
55eda14cbcSMatt Macydnl # 3.10.0 CentOS 7.x enterprise kernels.
56eda14cbcSMatt Macydnl #
57eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_REREAD_PART], [
58eda14cbcSMatt Macy	ZFS_LINUX_TEST_SRC([blkdev_reread_part], [
59eda14cbcSMatt Macy		#include <linux/fs.h>
60eda14cbcSMatt Macy		#include <linux/blkdev.h>
61eda14cbcSMatt Macy	], [
62eda14cbcSMatt Macy		struct block_device *bdev = NULL;
63eda14cbcSMatt Macy		int error;
64eda14cbcSMatt Macy
65eda14cbcSMatt Macy		error = blkdev_reread_part(bdev);
66eda14cbcSMatt Macy	])
67eda14cbcSMatt Macy])
68eda14cbcSMatt Macy
69eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_BLKDEV_REREAD_PART], [
70eda14cbcSMatt Macy	AC_MSG_CHECKING([whether blkdev_reread_part() exists])
71eda14cbcSMatt Macy	ZFS_LINUX_TEST_RESULT([blkdev_reread_part], [
72eda14cbcSMatt Macy		AC_MSG_RESULT(yes)
73eda14cbcSMatt Macy		AC_DEFINE(HAVE_BLKDEV_REREAD_PART, 1,
74eda14cbcSMatt Macy		    [blkdev_reread_part() exists])
75eda14cbcSMatt Macy	], [
76eda14cbcSMatt Macy		AC_MSG_RESULT(no)
77eda14cbcSMatt Macy	])
78eda14cbcSMatt Macy])
79eda14cbcSMatt Macy
80eda14cbcSMatt Macydnl #
817877fdebSMatt Macydnl # check_disk_change() was removed in 5.10
827877fdebSMatt Macydnl #
837877fdebSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_CHECK_DISK_CHANGE], [
847877fdebSMatt Macy	ZFS_LINUX_TEST_SRC([check_disk_change], [
857877fdebSMatt Macy		#include <linux/fs.h>
867877fdebSMatt Macy		#include <linux/blkdev.h>
877877fdebSMatt Macy	], [
887877fdebSMatt Macy		struct block_device *bdev = NULL;
897877fdebSMatt Macy		bool error;
907877fdebSMatt Macy
917877fdebSMatt Macy		error = check_disk_change(bdev);
927877fdebSMatt Macy	])
937877fdebSMatt Macy])
947877fdebSMatt Macy
957877fdebSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_BLKDEV_CHECK_DISK_CHANGE], [
967877fdebSMatt Macy	AC_MSG_CHECKING([whether check_disk_change() exists])
977877fdebSMatt Macy	ZFS_LINUX_TEST_RESULT([check_disk_change], [
987877fdebSMatt Macy		AC_MSG_RESULT(yes)
997877fdebSMatt Macy		AC_DEFINE(HAVE_CHECK_DISK_CHANGE, 1,
1007877fdebSMatt Macy		    [check_disk_change() exists])
1017877fdebSMatt Macy	], [
1027877fdebSMatt Macy		AC_MSG_RESULT(no)
1037877fdebSMatt Macy	])
1047877fdebSMatt Macy])
1057877fdebSMatt Macy
1067877fdebSMatt Macydnl #
1077877fdebSMatt Macydnl # 5.10 API, check_disk_change() is removed, in favor of
1087877fdebSMatt Macydnl # bdev_check_media_change(), which doesn't force revalidation
1097877fdebSMatt Macydnl #
1107877fdebSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_CHECK_MEDIA_CHANGE], [
1117877fdebSMatt Macy	ZFS_LINUX_TEST_SRC([bdev_check_media_change], [
1127877fdebSMatt Macy		#include <linux/fs.h>
1137877fdebSMatt Macy		#include <linux/blkdev.h>
1147877fdebSMatt Macy	], [
1157877fdebSMatt Macy		struct block_device *bdev = NULL;
1167877fdebSMatt Macy		int error;
1177877fdebSMatt Macy
1187877fdebSMatt Macy		error = bdev_check_media_change(bdev);
1197877fdebSMatt Macy	])
1207877fdebSMatt Macy])
1217877fdebSMatt Macy
1227877fdebSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_BLKDEV_BDEV_CHECK_MEDIA_CHANGE], [
12321b492edSMartin Matuska	AC_MSG_CHECKING([whether bdev_check_media_change() exists])
1247877fdebSMatt Macy	ZFS_LINUX_TEST_RESULT([bdev_check_media_change], [
1257877fdebSMatt Macy		AC_MSG_RESULT(yes)
1267877fdebSMatt Macy		AC_DEFINE(HAVE_BDEV_CHECK_MEDIA_CHANGE, 1,
1277877fdebSMatt Macy		    [bdev_check_media_change() exists])
1287877fdebSMatt Macy	], [
1297877fdebSMatt Macy		AC_MSG_RESULT(no)
1307877fdebSMatt Macy	])
1317877fdebSMatt Macy])
1327877fdebSMatt Macy
1337877fdebSMatt Macydnl #
134eda14cbcSMatt Macydnl # 2.6.22 API change
135eda14cbcSMatt Macydnl # Single argument invalidate_bdev()
136eda14cbcSMatt Macydnl #
137eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_INVALIDATE_BDEV], [
138eda14cbcSMatt Macy	ZFS_LINUX_TEST_SRC([invalidate_bdev], [
139eda14cbcSMatt Macy		#include <linux/buffer_head.h>
140eda14cbcSMatt Macy		#include <linux/blkdev.h>
141eda14cbcSMatt Macy	],[
142eda14cbcSMatt Macy		struct block_device *bdev = NULL;
143eda14cbcSMatt Macy		invalidate_bdev(bdev);
144eda14cbcSMatt Macy	])
145eda14cbcSMatt Macy])
146eda14cbcSMatt Macy
147eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_BLKDEV_INVALIDATE_BDEV], [
148eda14cbcSMatt Macy	AC_MSG_CHECKING([whether invalidate_bdev() exists])
149eda14cbcSMatt Macy	ZFS_LINUX_TEST_RESULT([invalidate_bdev], [
150eda14cbcSMatt Macy		AC_MSG_RESULT(yes)
151eda14cbcSMatt Macy	],[
152eda14cbcSMatt Macy		ZFS_LINUX_TEST_ERROR([invalidate_bdev()])
153eda14cbcSMatt Macy	])
154eda14cbcSMatt Macy])
155eda14cbcSMatt Macy
156eda14cbcSMatt Macydnl #
1577877fdebSMatt Macydnl # 5.11 API, lookup_bdev() takes dev_t argument.
1587877fdebSMatt Macydnl # 2.6.27 API, lookup_bdev() was first exported.
1597877fdebSMatt Macydnl # 4.4.0-6.21 API, lookup_bdev() on Ubuntu takes mode argument.
160eda14cbcSMatt Macydnl #
161eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_LOOKUP_BDEV], [
1627877fdebSMatt Macy	ZFS_LINUX_TEST_SRC([lookup_bdev_devt], [
1637877fdebSMatt Macy		#include <linux/blkdev.h>
1647877fdebSMatt Macy	], [
1657877fdebSMatt Macy		int error __attribute__ ((unused));
1667877fdebSMatt Macy		const char path[] = "/example/path";
1677877fdebSMatt Macy		dev_t dev;
1687877fdebSMatt Macy
1697877fdebSMatt Macy		error = lookup_bdev(path, &dev);
1707877fdebSMatt Macy	])
1717877fdebSMatt Macy
172eda14cbcSMatt Macy	ZFS_LINUX_TEST_SRC([lookup_bdev_1arg], [
173eda14cbcSMatt Macy		#include <linux/fs.h>
174eda14cbcSMatt Macy		#include <linux/blkdev.h>
175eda14cbcSMatt Macy	], [
1767877fdebSMatt Macy		struct block_device *bdev __attribute__ ((unused));
1777877fdebSMatt Macy		const char path[] = "/example/path";
1787877fdebSMatt Macy
1797877fdebSMatt Macy		bdev = lookup_bdev(path);
180eda14cbcSMatt Macy	])
181eda14cbcSMatt Macy
1827877fdebSMatt Macy	ZFS_LINUX_TEST_SRC([lookup_bdev_mode], [
183eda14cbcSMatt Macy		#include <linux/fs.h>
184eda14cbcSMatt Macy	], [
1857877fdebSMatt Macy		struct block_device *bdev __attribute__ ((unused));
1867877fdebSMatt Macy		const char path[] = "/example/path";
1877877fdebSMatt Macy
1887877fdebSMatt Macy		bdev = lookup_bdev(path, FMODE_READ);
189eda14cbcSMatt Macy	])
190eda14cbcSMatt Macy])
191eda14cbcSMatt Macy
192eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_BLKDEV_LOOKUP_BDEV], [
1937877fdebSMatt Macy	AC_MSG_CHECKING([whether lookup_bdev() wants dev_t arg])
1947877fdebSMatt Macy	ZFS_LINUX_TEST_RESULT_SYMBOL([lookup_bdev_devt],
1957877fdebSMatt Macy	    [lookup_bdev], [fs/block_dev.c], [
1967877fdebSMatt Macy		AC_MSG_RESULT(yes)
1977877fdebSMatt Macy		AC_DEFINE(HAVE_DEVT_LOOKUP_BDEV, 1,
1987877fdebSMatt Macy		    [lookup_bdev() wants dev_t arg])
1997877fdebSMatt Macy	], [
2007877fdebSMatt Macy		AC_MSG_RESULT(no)
2017877fdebSMatt Macy
202eda14cbcSMatt Macy		AC_MSG_CHECKING([whether lookup_bdev() wants 1 arg])
203eda14cbcSMatt Macy		ZFS_LINUX_TEST_RESULT_SYMBOL([lookup_bdev_1arg],
204eda14cbcSMatt Macy		    [lookup_bdev], [fs/block_dev.c], [
205eda14cbcSMatt Macy			AC_MSG_RESULT(yes)
206eda14cbcSMatt Macy			AC_DEFINE(HAVE_1ARG_LOOKUP_BDEV, 1,
207eda14cbcSMatt Macy			    [lookup_bdev() wants 1 arg])
208eda14cbcSMatt Macy		], [
209eda14cbcSMatt Macy			AC_MSG_RESULT(no)
210eda14cbcSMatt Macy
2117877fdebSMatt Macy			AC_MSG_CHECKING([whether lookup_bdev() wants mode arg])
2127877fdebSMatt Macy			ZFS_LINUX_TEST_RESULT_SYMBOL([lookup_bdev_mode],
213eda14cbcSMatt Macy			    [lookup_bdev], [fs/block_dev.c], [
214eda14cbcSMatt Macy				AC_MSG_RESULT(yes)
2157877fdebSMatt Macy				AC_DEFINE(HAVE_MODE_LOOKUP_BDEV, 1,
2167877fdebSMatt Macy				    [lookup_bdev() wants mode arg])
217eda14cbcSMatt Macy			], [
218eda14cbcSMatt Macy				ZFS_LINUX_TEST_ERROR([lookup_bdev()])
219eda14cbcSMatt Macy			])
220eda14cbcSMatt Macy		])
221eda14cbcSMatt Macy	])
2227877fdebSMatt Macy])
223eda14cbcSMatt Macy
224eda14cbcSMatt Macydnl #
225eda14cbcSMatt Macydnl # 2.6.30 API change
226eda14cbcSMatt Macydnl #
227eda14cbcSMatt Macydnl # The bdev_physical_block_size() interface was added to provide a way
228eda14cbcSMatt Macydnl # to determine the smallest write which can be performed without a
229eda14cbcSMatt Macydnl # read-modify-write operation.
230eda14cbcSMatt Macydnl #
231eda14cbcSMatt Macydnl # Unfortunately, this interface isn't entirely reliable because
232eda14cbcSMatt Macydnl # drives are sometimes known to misreport this value.
233eda14cbcSMatt Macydnl #
234eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_PHYSICAL_BLOCK_SIZE], [
235eda14cbcSMatt Macy	ZFS_LINUX_TEST_SRC([bdev_physical_block_size], [
236eda14cbcSMatt Macy		#include <linux/blkdev.h>
237eda14cbcSMatt Macy	],[
238eda14cbcSMatt Macy		struct block_device *bdev __attribute__ ((unused)) = NULL;
239eda14cbcSMatt Macy		bdev_physical_block_size(bdev);
240eda14cbcSMatt Macy	])
241eda14cbcSMatt Macy])
242eda14cbcSMatt Macy
243eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_BLKDEV_BDEV_PHYSICAL_BLOCK_SIZE], [
244eda14cbcSMatt Macy	AC_MSG_CHECKING([whether bdev_physical_block_size() is available])
245eda14cbcSMatt Macy	ZFS_LINUX_TEST_RESULT([bdev_physical_block_size], [
246eda14cbcSMatt Macy		AC_MSG_RESULT(yes)
247eda14cbcSMatt Macy	],[
248eda14cbcSMatt Macy		ZFS_LINUX_TEST_ERROR([bdev_physical_block_size()])
249eda14cbcSMatt Macy	])
250eda14cbcSMatt Macy])
251eda14cbcSMatt Macy
252eda14cbcSMatt Macydnl #
253eda14cbcSMatt Macydnl # 2.6.30 API change
254eda14cbcSMatt Macydnl # Added bdev_logical_block_size().
255eda14cbcSMatt Macydnl #
256eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_LOGICAL_BLOCK_SIZE], [
257eda14cbcSMatt Macy	ZFS_LINUX_TEST_SRC([bdev_logical_block_size], [
258eda14cbcSMatt Macy		#include <linux/blkdev.h>
259eda14cbcSMatt Macy	],[
260eda14cbcSMatt Macy		struct block_device *bdev __attribute__ ((unused)) = NULL;
261eda14cbcSMatt Macy		bdev_logical_block_size(bdev);
262eda14cbcSMatt Macy	])
263eda14cbcSMatt Macy])
264eda14cbcSMatt Macy
265eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_BLKDEV_BDEV_LOGICAL_BLOCK_SIZE], [
266eda14cbcSMatt Macy	AC_MSG_CHECKING([whether bdev_logical_block_size() is available])
267eda14cbcSMatt Macy	ZFS_LINUX_TEST_RESULT([bdev_logical_block_size], [
268eda14cbcSMatt Macy		AC_MSG_RESULT(yes)
269eda14cbcSMatt Macy	],[
270eda14cbcSMatt Macy		ZFS_LINUX_TEST_ERROR([bdev_logical_block_size()])
271eda14cbcSMatt Macy	])
272eda14cbcSMatt Macy])
273eda14cbcSMatt Macy
2747877fdebSMatt Macydnl #
2757877fdebSMatt Macydnl # 5.11 API change
2767877fdebSMatt Macydnl # Added bdev_whole() helper.
2777877fdebSMatt Macydnl #
2787877fdebSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_WHOLE], [
2797877fdebSMatt Macy	ZFS_LINUX_TEST_SRC([bdev_whole], [
2807877fdebSMatt Macy		#include <linux/blkdev.h>
2817877fdebSMatt Macy	],[
2827877fdebSMatt Macy		struct block_device *bdev = NULL;
2837877fdebSMatt Macy		bdev = bdev_whole(bdev);
2847877fdebSMatt Macy	])
2857877fdebSMatt Macy])
2867877fdebSMatt Macy
2877877fdebSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_BLKDEV_BDEV_WHOLE], [
2887877fdebSMatt Macy	AC_MSG_CHECKING([whether bdev_whole() is available])
2897877fdebSMatt Macy	ZFS_LINUX_TEST_RESULT([bdev_whole], [
2907877fdebSMatt Macy		AC_MSG_RESULT(yes)
2917877fdebSMatt Macy		AC_DEFINE(HAVE_BDEV_WHOLE, 1, [bdev_whole() is available])
2927877fdebSMatt Macy	],[
2937877fdebSMatt Macy		AC_MSG_RESULT(no)
2947877fdebSMatt Macy	])
2957877fdebSMatt Macy])
2967877fdebSMatt Macy
297*681ce946SMartin Matuskadnl #
298*681ce946SMartin Matuskadnl # 5.13 API change
299*681ce946SMartin Matuskadnl # blkdev_get_by_path() no longer handles ERESTARTSYS
300*681ce946SMartin Matuskadnl #
301*681ce946SMartin Matuskadnl # Unfortunately we're forced to rely solely on the kernel version
302*681ce946SMartin Matuskadnl # number in order to determine the expected behavior.  This was an
303*681ce946SMartin Matuskadnl # internal change to blkdev_get_by_dev(), see commit a8ed1a0607.
304*681ce946SMartin Matuskadnl #
305*681ce946SMartin MatuskaAC_DEFUN([ZFS_AC_KERNEL_BLKDEV_GET_ERESTARTSYS], [
306*681ce946SMartin Matuska	AC_MSG_CHECKING([whether blkdev_get_by_path() handles ERESTARTSYS])
307*681ce946SMartin Matuska	AS_VERSION_COMPARE([$LINUX_VERSION], [5.13.0], [
308*681ce946SMartin Matuska		AC_MSG_RESULT(yes)
309*681ce946SMartin Matuska		AC_DEFINE(HAVE_BLKDEV_GET_ERESTARTSYS, 1,
310*681ce946SMartin Matuska			[blkdev_get_by_path() handles ERESTARTSYS])
311*681ce946SMartin Matuska	],[
312*681ce946SMartin Matuska		AC_MSG_RESULT(no)
313*681ce946SMartin Matuska	],[
314*681ce946SMartin Matuska		AC_MSG_RESULT(no)
315*681ce946SMartin Matuska	])
316*681ce946SMartin Matuska])
317*681ce946SMartin Matuska
318eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV], [
319eda14cbcSMatt Macy	ZFS_AC_KERNEL_SRC_BLKDEV_GET_BY_PATH
320eda14cbcSMatt Macy	ZFS_AC_KERNEL_SRC_BLKDEV_PUT
321eda14cbcSMatt Macy	ZFS_AC_KERNEL_SRC_BLKDEV_REREAD_PART
322eda14cbcSMatt Macy	ZFS_AC_KERNEL_SRC_BLKDEV_INVALIDATE_BDEV
323eda14cbcSMatt Macy	ZFS_AC_KERNEL_SRC_BLKDEV_LOOKUP_BDEV
324eda14cbcSMatt Macy	ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_LOGICAL_BLOCK_SIZE
325eda14cbcSMatt Macy	ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_PHYSICAL_BLOCK_SIZE
3267877fdebSMatt Macy	ZFS_AC_KERNEL_SRC_BLKDEV_CHECK_DISK_CHANGE
3277877fdebSMatt Macy	ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_CHECK_MEDIA_CHANGE
3287877fdebSMatt Macy	ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_WHOLE
329eda14cbcSMatt Macy])
330eda14cbcSMatt Macy
331eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_BLKDEV], [
332eda14cbcSMatt Macy	ZFS_AC_KERNEL_BLKDEV_GET_BY_PATH
333eda14cbcSMatt Macy	ZFS_AC_KERNEL_BLKDEV_PUT
334eda14cbcSMatt Macy	ZFS_AC_KERNEL_BLKDEV_REREAD_PART
335eda14cbcSMatt Macy	ZFS_AC_KERNEL_BLKDEV_INVALIDATE_BDEV
336eda14cbcSMatt Macy	ZFS_AC_KERNEL_BLKDEV_LOOKUP_BDEV
337eda14cbcSMatt Macy	ZFS_AC_KERNEL_BLKDEV_BDEV_LOGICAL_BLOCK_SIZE
338eda14cbcSMatt Macy	ZFS_AC_KERNEL_BLKDEV_BDEV_PHYSICAL_BLOCK_SIZE
3397877fdebSMatt Macy	ZFS_AC_KERNEL_BLKDEV_CHECK_DISK_CHANGE
3407877fdebSMatt Macy	ZFS_AC_KERNEL_BLKDEV_BDEV_CHECK_MEDIA_CHANGE
3417877fdebSMatt Macy	ZFS_AC_KERNEL_BLKDEV_BDEV_WHOLE
342*681ce946SMartin Matuska	ZFS_AC_KERNEL_BLKDEV_GET_ERESTARTSYS
343eda14cbcSMatt Macy])
344