diff options
Diffstat (limited to 'config/kernel-blk-queue-physical-block-size.m4')
-rw-r--r-- | config/kernel-blk-queue-physical-block-size.m4 | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/config/kernel-blk-queue-physical-block-size.m4 b/config/kernel-blk-queue-physical-block-size.m4 new file mode 100644 index 000000000..c51c81721 --- /dev/null +++ b/config/kernel-blk-queue-physical-block-size.m4 @@ -0,0 +1,25 @@ +dnl # +dnl # 2.6.30 API change +dnl # The blk_queue_physical_block_size() function was introduced to +dnl # indicate the smallest I/O the device can write without incurring +dnl # a read-modify-write penalty. +dnl # +AC_DEFUN([ZFS_AC_KERNEL_BLK_QUEUE_PHYSICAL_BLOCK_SIZE], [ + AC_MSG_CHECKING([whether blk_queue_physical_block_size() is available]) + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" + ZFS_LINUX_TRY_COMPILE([ + #include <linux/blkdev.h> + ],[ + struct request_queue *q = NULL; + unsigned short block_size = 1; + (void) blk_queue_physical_block_size(q, block_size); + ],[ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_BLK_QUEUE_PHYSICAL_BLOCK_SIZE, 1, + [blk_queue_physical_block_size() is available]) + ],[ + AC_MSG_RESULT(no) + ]) + EXTRA_KCFLAGS="$tmp_flags" +]) |