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