X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=config%2Fkernel.m4;h=58a8080118badddcdf834f7177de0ad8b1c3a46f;hb=babf3f9b6d9294b0a88457941d60af5d9d7b744d;hp=7d8a5f4d5339abc32ea3e6b360131ec87185e60f;hpb=5085d55817f67e2333366e517c6cc7a6fdda50f7;p=zfs.git diff --git a/config/kernel.m4 b/config/kernel.m4 index 7d8a5f4..58a8080 100644 --- a/config/kernel.m4 +++ b/config/kernel.m4 @@ -14,6 +14,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [ ZFS_AC_KERNEL_OPEN_BDEV_EXCLUSIVE ZFS_AC_KERNEL_INVALIDATE_BDEV_ARGS ZFS_AC_KERNEL_BDEV_LOGICAL_BLOCK_SIZE + ZFS_AC_KERNEL_BDEV_PHYSICAL_BLOCK_SIZE ZFS_AC_KERNEL_BIO_EMPTY_BARRIER ZFS_AC_KERNEL_BIO_FAILFAST ZFS_AC_KERNEL_BIO_FAILFAST_DTD @@ -46,17 +47,24 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [ ZFS_AC_KERNEL_SHOW_OPTIONS ZFS_AC_KERNEL_FSYNC ZFS_AC_KERNEL_EVICT_INODE + ZFS_AC_KERNEL_DIRTY_INODE_WITH_FLAGS ZFS_AC_KERNEL_NR_CACHED_OBJECTS ZFS_AC_KERNEL_FREE_CACHED_OBJECTS ZFS_AC_KERNEL_FALLOCATE + ZFS_AC_KERNEL_MKDIR_UMODE_T + ZFS_AC_KERNEL_LOOKUP_NAMEIDATA + ZFS_AC_KERNEL_CREATE_NAMEIDATA ZFS_AC_KERNEL_TRUNCATE_RANGE - ZFS_AC_KERNEL_CREATE_UMODE_T ZFS_AC_KERNEL_AUTOMOUNT ZFS_AC_KERNEL_ENCODE_FH_WITH_INODE + ZFS_AC_KERNEL_COMMIT_METADATA ZFS_AC_KERNEL_CLEAR_INODE ZFS_AC_KERNEL_INSERT_INODE_LOCKED ZFS_AC_KERNEL_D_MAKE_ROOT ZFS_AC_KERNEL_D_OBTAIN_ALIAS + ZFS_AC_KERNEL_D_SET_D_OP + ZFS_AC_KERNEL_D_REVALIDATE_NAMEIDATA + ZFS_AC_KERNEL_CONST_DENTRY_OPERATIONS ZFS_AC_KERNEL_CHECK_DISK_SIZE_CHANGE ZFS_AC_KERNEL_TRUNCATE_SETSIZE ZFS_AC_KERNEL_6ARGS_SECURITY_INODE_INIT_SECURITY @@ -66,6 +74,8 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [ ZFS_AC_KERNEL_BDI ZFS_AC_KERNEL_BDI_SETUP_AND_REGISTER ZFS_AC_KERNEL_SET_NLINK + ZFS_AC_KERNEL_ELEVATOR_CHANGE + ZFS_AC_KERNEL_5ARG_SGET AS_IF([test "$LINUX_OBJ" != "$LINUX"], [ KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ" @@ -140,11 +150,7 @@ AC_DEFUN([ZFS_AC_KERNEL], [ AS_IF([test -n "$sourcelink" && test -e ${sourcelink}], [ kernelsrc=`readlink -f ${sourcelink}` ], [ - AC_MSG_RESULT([Not found]) - AC_MSG_ERROR([ - *** Please make sure the kernel devel package for your distribution - *** is installed then try again. If that fails you can specify the - *** location of the kernel source with the '--with-linux=PATH' option.]) + kernelsrc="[Not found]" ]) ], [ AS_IF([test "$kernelsrc" = "NONE"], [ @@ -153,6 +159,13 @@ AC_DEFUN([ZFS_AC_KERNEL], [ ]) AC_MSG_RESULT([$kernelsrc]) + AS_IF([test ! -d "$kernelsrc"], [ + AC_MSG_ERROR([ + *** Please make sure the kernel devel package for your distribution + *** is installed then try again. If that fails you can specify the + *** location of the kernel source with the '--with-linux=PATH' option.]) + ]) + AC_MSG_CHECKING([kernel build directory]) AS_IF([test -z "$kernelbuild"], [ AS_IF([test -e "/lib/modules/$(uname -r)/build"], [ @@ -281,14 +294,35 @@ AC_DEFUN([ZFS_AC_SPL], [ AC_MSG_CHECKING([spl source directory]) AS_IF([test -z "$splsrc"], [ + dnl # + dnl # Look in the standard development package location + dnl # sourcelink=`ls -1d /usr/src/spl-*/${LINUX_VERSION} \ 2>/dev/null | tail -1` - AS_IF([test -z "$sourcelink" || test ! -e $sourcelink], [ + dnl # + dnl # Look in the DKMS source location + dnl # + AS_IF([test -z "$sourcelink" || test ! -e $sourcelink/spl_config.h], [ + sourcelink=`ls -1d /var/lib/dkms/spl/*/build \ + 2>/dev/null | tail -1` + ]) + + dnl # + dnl # Look in the parent directory + dnl # + AS_IF([test -z "$sourcelink" || test ! -e $sourcelink/spl_config.h], [ sourcelink=../spl ]) - AS_IF([test -e $sourcelink], [ + dnl # + dnl # Look in the kernel directory + dnl # + AS_IF([test -z "$sourcelink" || test ! -e $sourcelink/spl_config.h], [ + sourcelink="$LINUX" + ]) + + AS_IF([test -e $sourcelink/spl_config.h], [ splsrc=`readlink -f ${sourcelink}` ], [ AC_MSG_RESULT([Not found]) @@ -372,29 +406,10 @@ AC_DEFUN([ZFS_AC_KERNEL_CONFIG], [ [Define to 1 if licensed under the GPL]) ]) - ZFS_AC_KERNEL_CONFIG_PREEMPT ZFS_AC_KERNEL_CONFIG_DEBUG_LOCK_ALLOC ]) dnl # -dnl # Check CONFIG_PREEMPT -dnl # -dnl # Premptible kernels will be supported in the future. But at the -dnl # moment there are a few places in the code which need to be updated -dnl # to accomidate them. Until that work occurs we should detect this -dnl # at configure time and fail with a sensible message. Otherwise, -dnl # people will be able to build successfully, however they will have -dnl # stability problems. See https://github.com/zfsonlinux/zfs/issues/83 -dnl # -AC_DEFUN([ZFS_AC_KERNEL_CONFIG_PREEMPT], [ - - ZFS_LINUX_CONFIG([PREEMPT], - AC_MSG_ERROR([ - *** Kernel built with CONFIG_PREEMPT which is not supported. - *** You must rebuild your kernel without this option.]), []) -]) - -dnl # dnl # Check CONFIG_DEBUG_LOCK_ALLOC dnl # dnl # This is typically only set for debug kernels because it comes with