diff options
author | Lukas Wunner <[email protected]> | 2015-09-23 17:55:15 +0200 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-09-25 12:44:54 -0700 |
commit | 784a7fe5d9a0c02e96f3ae019a08ecebee2a7018 (patch) | |
tree | 2a2c0491137685e4d89014930ca9cd2aac2a898c /config/kernel-bio-end-io-t-args.m4 | |
parent | 4a4809faab83be1bc723086ad44816bacf646ae3 (diff) |
Linux 4.3 compat: bio_end_io_t / BIO_UPTODATE
Commit torvalds/linux@4246a0b63bd8f56a1469b12eafeb875b1041a451
("block: add a bi_error field to struct bio") dropped the error
argument from bio_endio in favor of newly introduced bio->bi_error.
This also replaces bio->bi_flags value BIO_UPTODATE.
bio_endio was a 3 argument function until Linux 2.6.24, which made it
a 2 argument function, and now the prototype has changed yet again to
a 1 argument function. Support for pre 2.6.24 kernels was already
dropped with 37f9dac592bf ("zvol processing should use struct bio")
which assumed the 2 argument version in zvol_request(). Remaining code
to support the 3 argument version is hereby removed.
Signed-off-by: Brian Behlendorf <[email protected]>
Signed-off-by: Lukas Wunner <[email protected]>
Issue #3799
Diffstat (limited to 'config/kernel-bio-end-io-t-args.m4')
-rw-r--r-- | config/kernel-bio-end-io-t-args.m4 | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/config/kernel-bio-end-io-t-args.m4 b/config/kernel-bio-end-io-t-args.m4 index 407e55cd0..c8c520f1b 100644 --- a/config/kernel-bio-end-io-t-args.m4 +++ b/config/kernel-bio-end-io-t-args.m4 @@ -1,25 +1,23 @@ dnl # -dnl # 2.6.24 API change -dnl # Size argument dropped from bio_endio and bi_end_io, because the -dnl # bi_end_io is only called once now when the request is complete. -dnl # There is no longer any need for a size argument. This also means -dnl # that partial IO's are no longer possibe and the end_io callback -dnl # should not check bi->bi_size. Finally, the return type was updated -dnl # to void. +dnl # 4.3 API change +dnl # Error argument dropped from bio_endio in favor of newly introduced +dnl # bio->bi_error. This also replaces bio->bi_flags value BIO_UPTODATE. +dnl # Introduced by torvalds/linux@4246a0b63bd8f56a1469b12eafeb875b1041a451 +dnl # ("block: add a bi_error field to struct bio"). dnl # AC_DEFUN([ZFS_AC_KERNEL_BIO_END_IO_T_ARGS], [ - AC_MSG_CHECKING([whether bio_end_io_t wants 2 args]) + AC_MSG_CHECKING([whether bio_end_io_t wants 1 arg]) ZFS_LINUX_TRY_COMPILE([ #include <linux/bio.h> - void wanted_end_io(struct bio *bio, int x) { return; } + void wanted_end_io(struct bio *bio) { return; } bio_end_io_t *end_io __attribute__ ((unused)) = wanted_end_io; ],[ ],[ AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_2ARGS_BIO_END_IO_T, 1, - [bio_end_io_t wants 2 args]) + AC_DEFINE(HAVE_1ARG_BIO_END_IO_T, 1, + [bio_end_io_t wants 1 arg]) ],[ AC_MSG_RESULT(no) ]) |