a5e046eaac
[bio] The req_op enum was changed to req_opf. Update the "Linux 4.8 API" autotools checks to use an int to determine whether the various REQ_OP values are defined. This should work properly on kernels >= 4.8. [bio] bio_set_op_attrs() is now an inline function and can't be detected with #ifdef. Add a configure check to determine whether bio_set_op_attrs() is defined. Move the local definition of it from vdev_disk.c to blkdev_compat.h for consistency with other related compability shims. [bio] The read/write flags and their modifiers, including WRITE_FLUSH, WRITE_FUA and WRITE_FLUSH_FUA have been removed from fs.h. Add the new bio_set_flush() compatibility wrapper to replace VDEV_WRITE_FLUSH_FUA and set the flags appropriately for each supported kernel version. [vfs] The generic_readlink() function has been made static. If .readlink in inode_operations is NULL, generic_readlink() is used. [zol typo] Completely unrelated to 4.10 compat, fix a typo in the check for REQ_OP_SECURE_ERASE so that the proper macro is defined: s/HAVE_REQ_OP_SECURE_DISCARD/HAVE_REQ_OP_SECURE_ERASE/ Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Chunwei Chen <david.chen@osnexus.com> Signed-off-by: Tim Chase <tim@chase2k.com> Closes #5499
23 lines
509 B
Plaintext
23 lines
509 B
Plaintext
dnl #
|
|
dnl # 4.10 API
|
|
dnl #
|
|
dnl # NULL inode_operations.readlink implies generic_readlink(), which
|
|
dnl # has been made static.
|
|
dnl #
|
|
AC_DEFUN([ZFS_AC_KERNEL_GENERIC_READLINK_GLOBAL], [
|
|
AC_MSG_CHECKING([whether generic_readlink is global])
|
|
ZFS_LINUX_TRY_COMPILE([
|
|
#include <linux/fs.h>
|
|
],[
|
|
int i __attribute__ ((unused));
|
|
|
|
i = generic_readlink(NULL, NULL, 0);
|
|
],[
|
|
AC_MSG_RESULT([yes])
|
|
AC_DEFINE(HAVE_GENERIC_READLINK, 1,
|
|
[generic_readlink is global])
|
|
],[
|
|
AC_MSG_RESULT([no])
|
|
])
|
|
])
|