X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=config%2Fkernel.m4;h=2b4df702391a863e0692999c65d3d3c5e2509b4e;hb=01c0e61da027925b71c923a2b3896abf458b45a9;hp=c3321ed8dfebd23c90d58b4dd499c0df44871f97;hpb=2c395def2763ccc7a549d297f7f11bd304caaeae;p=zfs.git diff --git a/config/kernel.m4 b/config/kernel.m4 index c3321ed..2b4df70 100644 --- a/config/kernel.m4 +++ b/config/kernel.m4 @@ -8,6 +8,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [ ZFS_AC_KERNEL_BDEV_BLOCK_DEVICE_OPERATIONS ZFS_AC_KERNEL_TYPE_FMODE_T ZFS_AC_KERNEL_KOBJ_NAME_LEN + ZFS_AC_KERNEL_BLKDEV_GET_BY_PATH ZFS_AC_KERNEL_OPEN_BDEV_EXCLUSIVE ZFS_AC_KERNEL_INVALIDATE_BDEV_ARGS ZFS_AC_KERNEL_BDEV_LOGICAL_BLOCK_SIZE @@ -60,6 +61,14 @@ AC_DEFUN([ZFS_AC_MODULE_SYMVERS], [ else LINUX_SYMBOLS=Module.symvers fi + + if ! test -f "$LINUX_OBJ/$LINUX_SYMBOLS"; then + AC_MSG_ERROR([ + *** Please make sure the kernel devel package for your distribution + *** is installed. If your building with a custom kernel make sure the + *** kernel is configured, built, and the '--with-linux=PATH' configure + *** option refers to the location of the kernel source.]) + fi else LINUX_SYMBOLS=NONE fi @@ -273,6 +282,12 @@ AC_DEFUN([ZFS_AC_SPL], [ ]) dnl # +dnl # Certain kernel build options are not supported. These must be +dnl # detected at configure time and cause a build failure. Otherwise +dnl # modules may be successfully built that behave incorrectly. +dnl # +dnl # CONFIG_PREEMPT - Preempt kernels require special handling. +dnl # dnl # There are certain kernel build options which when enabled are dnl # completely incompatible with non GPL kernel modules. It is best dnl # to detect these at configure time and fail with a clear error @@ -282,6 +297,11 @@ dnl # CONFIG_DEBUG_LOCK_ALLOC - Maps mutex_lock() to mutex_lock_nested() dnl # AC_DEFUN([ZFS_AC_KERNEL_CONFIG], [ + ZFS_LINUX_CONFIG([PREEMPT], + AC_MSG_ERROR([ + *** Kernel built with CONFIG_PREEMPT which is not supported. + ** You must rebuild your kernel without this option.]), []) + if test "$ZFS_META_LICENSE" = CDDL; then ZFS_LINUX_CONFIG([DEBUG_LOCK_ALLOC], AC_MSG_ERROR([