freebsd-nq/config/kernel-elevator-change.m4
Brian Behlendorf 6d1d976b2c Modify vdev_elevator_switch() to use elevator_change()
As of Linux 2.6.36 an elevator_change() interface was added.
This commit updates vdev_elevator_switch() to use this interface
when available, otherwise it falls back to the usermodehelper
method.

Original-patch-by: foobarz <sysop@xeon.(none)>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #906
2012-10-03 13:31:44 -07:00

26 lines
627 B
Plaintext

dnl #
dnl # 2.6.36 API change
dnl # Verify the elevator_change() symbol is available.
dnl #
AC_DEFUN([ZFS_AC_KERNEL_ELEVATOR_CHANGE], [
AC_MSG_CHECKING([whether elevator_change() is available])
tmp_flags="$EXTRA_KCFLAGS"
EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
ZFS_LINUX_TRY_COMPILE([
#include <linux/blkdev.h>
#include <linux/elevator.h>
],[
int ret;
struct request_queue *q = NULL;
char *elevator = NULL;
ret = elevator_change(q, elevator);
],[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_ELEVATOR_CHANGE, 1,
[elevator_change() is available])
],[
AC_MSG_RESULT(no)
])
EXTRA_KCFLAGS="$tmp_flags"
])