X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=config%2Fkernel.m4;h=c3321ed8dfebd23c90d58b4dd499c0df44871f97;hb=2c395def2763ccc7a549d297f7f11bd304caaeae;hp=4c06981dcc3ea5edfd2c1b8971918b057d39633a;hpb=c9c0d073da561bcbefbdf09c87fc75b227415619;p=zfs.git diff --git a/config/kernel.m4 b/config/kernel.m4 index 4c06981..c3321ed 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,23 @@ 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_XATTR_HANDLER_GET + ZFS_AC_KERNEL_XATTR_HANDLER_SET + ZFS_AC_KERNEL_FSYNC_2ARGS + ZFS_AC_KERNEL_EVICT_INODE + + 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 +83,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 +113,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 +183,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,21 +238,17 @@ 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]) AC_MSG_CHECKING([spl source version]) - if test -r $splsrc/spl_config.h && - fgrep -q SPL_META_VERSION $splsrc/spl_config.h; then + if test -r $splbuild/spl_config.h && + fgrep -q SPL_META_VERSION $splbuild/spl_config.h; then splsrcver=`(echo "#include "; echo "splsrcver=SPL_META_VERSION") | - cpp -I $splsrc | + cpp -I $splbuild | grep "^splsrcver=" | cut -d \" -f 2` fi