X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=config%2Fkernel.m4;h=c411c8f492831a153f7b68a002cc573cdcea4cb0;hb=7268e1bec8478639b7a1047e02ab931f30bc2f92;hp=2d3a1774a099531b81ca6ba448c3b02d461dbc02;hpb=5e6121455c0b941f4612ceb2c1f312d527534b46;p=zfs.git diff --git a/config/kernel.m4 b/config/kernel.m4 index 2d3a177..c411c8f 100644 --- a/config/kernel.m4 +++ b/config/kernel.m4 @@ -12,8 +12,13 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [ ZFS_AC_KERNEL_INVALIDATE_BDEV_ARGS ZFS_AC_KERNEL_BDEV_LOGICAL_BLOCK_SIZE ZFS_AC_KERNEL_BIO_EMPTY_BARRIER + ZFS_AC_KERNEL_BIO_FAILFAST + ZFS_AC_KERNEL_BIO_FAILFAST_DTD + ZFS_AC_KERNEL_REQ_FAILFAST_MASK ZFS_AC_KERNEL_BIO_END_IO_T_ARGS + ZFS_AC_KERNEL_BIO_RW_SYNC ZFS_AC_KERNEL_BIO_RW_SYNCIO + ZFS_AC_KERNEL_REQ_SYNC ZFS_AC_KERNEL_BLK_END_REQUEST ZFS_AC_KERNEL_BLK_FETCH_REQUEST ZFS_AC_KERNEL_BLK_REQUEUE_REQUEST @@ -23,21 +28,20 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [ ZFS_AC_KERNEL_GET_DISK_RO ZFS_AC_KERNEL_RQ_IS_SYNC ZFS_AC_KERNEL_RQ_FOR_EACH_SEGMENT + ZFS_AC_KERNEL_CONST_XATTR_HANDLER + ZFS_AC_KERNEL_FSYNC_2ARGS + + if test "$LINUX_OBJ" != "$LINUX"; then + KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ" + fi + AC_SUBST(KERNELMAKE_PARAMS) + dnl # -Wall -fno-strict-aliasing -Wstrict-prototypes and other dnl # compiler options are added by the kernel build system. KERNELCPPFLAGS="$KERNELCPPFLAGS -DHAVE_SPL -D_KERNEL" KERNELCPPFLAGS="$KERNELCPPFLAGS -DTEXT_DOMAIN=\\\"zfs-linux-kernel\\\"" - KERNELCPPFLAGS="$KERNELCPPFLAGS -I$SPL" - KERNELCPPFLAGS="$KERNELCPPFLAGS -I$SPL/include" - KERNELCPPFLAGS="$KERNELCPPFLAGS -include $SPL/spl_config.h" - KERNELCPPFLAGS="$KERNELCPPFLAGS -include $TOPDIR/zfs_config.h" - - if test "$LINUX_OBJ" != "$LINUX"; then - KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ" - fi - AC_SUBST(KERNELMAKE_PARAMS) AC_SUBST(KERNELCPPFLAGS) ]) @@ -76,8 +80,11 @@ AC_DEFUN([ZFS_AC_KERNEL], [ AC_MSG_CHECKING([kernel source directory]) if test -z "$kernelsrc"; then - headersdir="/lib/modules/$(uname -r)/build" - if test -e "$headersdir"; then + if test -e "/lib/modules/$(uname -r)/source"; then + headersdir="/lib/modules/$(uname -r)/source" + sourcelink=$(readlink -f "$headersdir") + elif test -e "/lib/modules/$(uname -r)/build"; then + headersdir="/lib/modules/$(uname -r)/build" sourcelink=$(readlink -f "$headersdir") else sourcelink=$(ls -1d /usr/src/kernels/* \ @@ -103,7 +110,9 @@ AC_DEFUN([ZFS_AC_KERNEL], [ AC_MSG_RESULT([$kernelsrc]) AC_MSG_CHECKING([kernel build directory]) if test -z "$kernelbuild"; then - if test -d ${kernelsrc}-obj/${target_cpu}/${target_cpu}; then + if test -e "/lib/modules/$(uname -r)/build"; then + kernelbuild=`readlink -f /lib/modules/$(uname -r)/build` + elif test -d ${kernelsrc}-obj/${target_cpu}/${target_cpu}; then kernelbuild=${kernelsrc}-obj/${target_cpu}/${target_cpu} elif test -d ${kernelsrc}-obj/${target_cpu}/default; then kernelbuild=${kernelsrc}-obj/${target_cpu}/default @@ -171,6 +180,10 @@ AC_DEFUN([ZFS_AC_SPL_MODULE_SYMVERS], [ SPL_SYMBOLS=Module.symvers elif test -r $SPL_OBJ/Modules.symvers; then SPL_SYMBOLS=Modules.symvers + elif test -r $SPL_OBJ/module/Module.symvers; then + SPL_SYMBOLS=Module.symvers + elif test -r $SPL_OBJ/module/Modules.symvers; then + SPL_SYMBOLS=Modules.symvers else SPL_SYMBOLS=$LINUX_SYMBOLS fi @@ -222,11 +235,7 @@ AC_DEFUN([ZFS_AC_SPL], [ AC_MSG_RESULT([$splsrc]) AC_MSG_CHECKING([spl build directory]) if test -z "$splbuild"; then - if test -d ${splsrc}/module; then - splbuild=${splsrc}/module - else - splbuild=${splsrc} - fi + splbuild=${splsrc} fi AC_MSG_RESULT([$splbuild])