]> granicus.if.org Git - zfs/commit
Linux 4.14 compat: blk_queue_stackable()
authorBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 20 Jun 2018 04:52:45 +0000 (21:52 -0700)
committerGitHub <noreply@github.com>
Wed, 20 Jun 2018 04:52:45 +0000 (21:52 -0700)
commit1c38ac61e1dbc876eb4079a69f965bb51635fef7
treefa0f3df41fdc4a801494bd61f885ecb6ba47d724
parent6413c95fbd88dc06ae57e50398b8530a17d0c7d3
Linux 4.14 compat: blk_queue_stackable()

The blk_queue_stackable() function was replaced in the 4.14 kernel
by queue_is_rq_based(), commit torvalds/linux@5fdee212.  This change
resulted in the default elevator being used which can negatively
impact performance.

Rather than adding additional compatibility code to detect the
new interface unconditionally attempt to set the elevator.  Since
we expect this to fail for block devices without an elevator the
error message has been moved in to zfs_dbgmsg().

Finally, it was observed that the elevator_change() was removed
from the 4.12 kernel, commit torvalds/linux@c033269.  Update the
comment to clearly specify which are expected to export the
elevator_change() symbol.

Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #7645
config/kernel-elevator-change.m4
include/linux/blkdev_compat.h
module/zfs/vdev_disk.c