Linux 5.16: block_device_operations->submit_bio now returns void
The return type for the submit_bio member of struct block_device_operations was changed to no longer return a value. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Coleman Kane <ckane@colemankane.org> Closes #12819
This commit is contained in:
parent
806c3777e7
commit
0c40ff56f2
|
@ -395,6 +395,33 @@ AC_DEFUN([ZFS_AC_KERNEL_BIO_BDEV_DISK], [
|
||||||
])
|
])
|
||||||
])
|
])
|
||||||
|
|
||||||
|
dnl #
|
||||||
|
dnl # Linux 5.16 API
|
||||||
|
dnl #
|
||||||
|
dnl # The Linux 5.16 API for submit_bio changed the return type to be
|
||||||
|
dnl # void instead of int
|
||||||
|
dnl #
|
||||||
|
AC_DEFUN([ZFS_AC_KERNEL_SRC_BDEV_SUBMIT_BIO_RETURNS_VOID], [
|
||||||
|
ZFS_LINUX_TEST_SRC([bio_bdev_submit_bio_void], [
|
||||||
|
#include <linux/blkdev.h>
|
||||||
|
],[
|
||||||
|
struct block_device_operations *bdev = NULL;
|
||||||
|
__attribute__((unused)) void(*f)(struct bio *) = bdev->submit_bio;
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([ZFS_AC_KERNEL_BDEV_SUBMIT_BIO_RETURNS_VOID], [
|
||||||
|
AC_MSG_CHECKING(
|
||||||
|
[whether block_device_operations->submit_bio() returns void])
|
||||||
|
ZFS_LINUX_TEST_RESULT([bio_bdev_submit_bio_void], [
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
AC_DEFINE(HAVE_BDEV_SUBMIT_BIO_RETURNS_VOID, 1,
|
||||||
|
[block_device_operations->submit_bio() returns void])
|
||||||
|
],[
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
AC_DEFUN([ZFS_AC_KERNEL_SRC_BIO], [
|
AC_DEFUN([ZFS_AC_KERNEL_SRC_BIO], [
|
||||||
ZFS_AC_KERNEL_SRC_REQ
|
ZFS_AC_KERNEL_SRC_REQ
|
||||||
ZFS_AC_KERNEL_SRC_BIO_OPS
|
ZFS_AC_KERNEL_SRC_BIO_OPS
|
||||||
|
@ -406,6 +433,7 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_BIO], [
|
||||||
ZFS_AC_KERNEL_SRC_BIO_CURRENT_BIO_LIST
|
ZFS_AC_KERNEL_SRC_BIO_CURRENT_BIO_LIST
|
||||||
ZFS_AC_KERNEL_SRC_BLKG_TRYGET
|
ZFS_AC_KERNEL_SRC_BLKG_TRYGET
|
||||||
ZFS_AC_KERNEL_SRC_BIO_BDEV_DISK
|
ZFS_AC_KERNEL_SRC_BIO_BDEV_DISK
|
||||||
|
ZFS_AC_KERNEL_SRC_BDEV_SUBMIT_BIO_RETURNS_VOID
|
||||||
])
|
])
|
||||||
|
|
||||||
AC_DEFUN([ZFS_AC_KERNEL_BIO], [
|
AC_DEFUN([ZFS_AC_KERNEL_BIO], [
|
||||||
|
@ -428,4 +456,5 @@ AC_DEFUN([ZFS_AC_KERNEL_BIO], [
|
||||||
ZFS_AC_KERNEL_BIO_CURRENT_BIO_LIST
|
ZFS_AC_KERNEL_BIO_CURRENT_BIO_LIST
|
||||||
ZFS_AC_KERNEL_BLKG_TRYGET
|
ZFS_AC_KERNEL_BLKG_TRYGET
|
||||||
ZFS_AC_KERNEL_BIO_BDEV_DISK
|
ZFS_AC_KERNEL_BIO_BDEV_DISK
|
||||||
|
ZFS_AC_KERNEL_BDEV_SUBMIT_BIO_RETURNS_VOID
|
||||||
])
|
])
|
||||||
|
|
|
@ -337,8 +337,13 @@ zvol_read_task(void *arg)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_SUBMIT_BIO_IN_BLOCK_DEVICE_OPERATIONS
|
#ifdef HAVE_SUBMIT_BIO_IN_BLOCK_DEVICE_OPERATIONS
|
||||||
|
#ifdef HAVE_BDEV_SUBMIT_BIO_RETURNS_VOID
|
||||||
|
static void
|
||||||
|
zvol_submit_bio(struct bio *bio)
|
||||||
|
#else
|
||||||
static blk_qc_t
|
static blk_qc_t
|
||||||
zvol_submit_bio(struct bio *bio)
|
zvol_submit_bio(struct bio *bio)
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
static MAKE_REQUEST_FN_RET
|
static MAKE_REQUEST_FN_RET
|
||||||
zvol_request(struct request_queue *q, struct bio *bio)
|
zvol_request(struct request_queue *q, struct bio *bio)
|
||||||
|
@ -479,8 +484,9 @@ zvol_request(struct request_queue *q, struct bio *bio)
|
||||||
|
|
||||||
out:
|
out:
|
||||||
spl_fstrans_unmark(cookie);
|
spl_fstrans_unmark(cookie);
|
||||||
#if defined(HAVE_MAKE_REQUEST_FN_RET_QC) || \
|
#if (defined(HAVE_MAKE_REQUEST_FN_RET_QC) || \
|
||||||
defined(HAVE_SUBMIT_BIO_IN_BLOCK_DEVICE_OPERATIONS)
|
defined(HAVE_SUBMIT_BIO_IN_BLOCK_DEVICE_OPERATIONS)) && \
|
||||||
|
!defined(HAVE_BDEV_SUBMIT_BIO_RETURNS_VOID)
|
||||||
return (BLK_QC_T_NONE);
|
return (BLK_QC_T_NONE);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue