]> granicus.if.org Git - zfs/commit
4.10 compat - BIO flag changes and others
authorTim Chase <tim@chase2k.com>
Fri, 30 Dec 2016 22:03:59 +0000 (16:03 -0600)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 30 Dec 2016 22:03:59 +0000 (16:03 -0600)
commita5e046eaacad20487188c9eef231554e1401d8c9
tree41395397905b3e0fa0e908193412c3fd9b273446
parent3500a145952e0dfb7b7efe1c6b7856319815628c
4.10 compat - BIO flag changes and others

[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
config/kernel-bio-op.m4
config/kernel-generic_readlink.m4 [new file with mode: 0644]
config/kernel.m4
include/linux/blkdev_compat.h
module/zfs/vdev_disk.c
module/zfs/zpl_inode.c