diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/kernel-mk-request-fn.m4 | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/config/kernel-mk-request-fn.m4 b/config/kernel-mk-request-fn.m4 index 88ee2ebb3..57eebe23d 100644 --- a/config/kernel-mk-request-fn.m4 +++ b/config/kernel-mk-request-fn.m4 @@ -2,6 +2,9 @@ dnl # dnl # Linux 3.2 API Change dnl # make_request_fn returns void instead of int. dnl # +dnl # Linux 4.4 API Change +dnl # make_request_fn returns blk_qc_t. +dnl # AC_DEFUN([ZFS_AC_KERNEL_MAKE_REQUEST_FN], [ AC_MSG_CHECKING([whether make_request_fn() returns int]) ZFS_LINUX_TRY_COMPILE([ @@ -36,8 +39,27 @@ AC_DEFUN([ZFS_AC_KERNEL_MAKE_REQUEST_FN], [ AC_DEFINE(MAKE_REQUEST_FN_RET, void, [make_request_fn() returns void]) ],[ - AC_MSG_ERROR(no - Please file a bug report at - https://github.com/zfsonlinux/zfs/issues/new) + AC_MSG_RESULT(no) + AC_MSG_CHECKING([whether make_request_fn() returns blk_qc_t]) + ZFS_LINUX_TRY_COMPILE([ + #include <linux/blkdev.h> + + blk_qc_t make_request(struct request_queue *q, struct bio *bio) + { + return (BLK_QC_T_NONE); + } + ],[ + blk_queue_make_request(NULL, &make_request); + ],[ + AC_MSG_RESULT(yes) + AC_DEFINE(MAKE_REQUEST_FN_RET, blk_qc_t, + [make_request_fn() returns blk_qc_t]) + AC_DEFINE(HAVE_MAKE_REQUEST_FN_RET_QC, 1, + [Noting that make_request_fn() returns blk_qc_t]) + ],[ + AC_MSG_ERROR(no - Please file a bug report at + https://github.com/zfsonlinux/zfs/issues/new) + ]) ]) ]) ]) |