Whamcloud - gitweb
LU-11927 kernel: new kernel [SLES12 SP4 4.12.14-95.6.1]
[fs/lustre-release.git] / lustre / autoconf / lustre-core.m4
index 029a2f5..84412d0 100644 (file)
@@ -123,6 +123,22 @@ AS_IF([test "x$enable_checksum" != xno],
 ]) # LC_CONFIG_CHECKSUM
 
 #
+# LC_CONFIG_FLOCK
+#
+# enable distributed flock by default
+#
+AC_DEFUN([LC_CONFIG_FLOCK], [
+AC_MSG_CHECKING([whether to enable flock by default])
+AC_ARG_ENABLE([flock],
+       AC_HELP_STRING([--disable-flock],
+               [disable flock by default]),
+       [], [enable_flock="yes"])
+AC_MSG_RESULT([$enable_flock])
+AS_IF([test "x$enable_flock" != xno],
+       [AC_DEFINE(ENABLE_FLOCK, 1, [enable flock by default])])
+]) # LC_CONFIG_FLOCK
+
+#
 # LC_CONFIG_HEALTH_CHECK_WRITE
 #
 # Turn off the actual write to the disk
@@ -340,6 +356,31 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([
 AC_MSG_RESULT([$enable_ssk])
 ]) # LC_OPENSSL_SSK
 
+# LC_OPENSSL_GETSEPOL
+#
+# OpenSSL is needed for l_getsepol
+AC_DEFUN([LC_OPENSSL_GETSEPOL], [
+AC_MSG_CHECKING([whether openssl-devel is present])
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([
+       #include <openssl/evp.h>
+
+       int main(void) {
+               EVP_MD_CTX *mdctx = EVP_MD_CTX_create();
+       }
+])],[
+       AC_DEFINE(HAVE_OPENSSL_GETSEPOL, 1, [openssl-devel is present])
+       enable_getsepol="yes"
+
+],[
+       enable_getsepol="no"
+       AC_MSG_WARN([
+
+No openssk-devel headers found, unable to build l_getsepol and SELinux status checking
+])
+])
+AC_MSG_RESULT([$enable_getsepol])
+]) # LC_OPENSSL_GETSEPOL
+
 # LC_INODE_PERMISION_2ARGS
 #
 # up to v2.6.27 had a 3 arg version (inode, mask, nameidata)
@@ -2517,6 +2558,28 @@ EXTRA_KCFLAGS="$tmp_flags"
 ]) # LC_HAVE_XATTR_HANDLER_INODE_PARAM
 
 #
+# LC_D_IN_LOOKUP
+#
+# Kernel version 4.6 commit 85c7f81041d57cfe9dc97f4680d5586b54534a39
+# introduced parallel lookups in the VFS layer. The inline function
+# d_in_lookup was added to notify when the same item was being queried
+# at the same time.
+#
+AC_DEFUN([LC_D_IN_LOOKUP], [
+tmp_flags="$EXTRA_KCFLAGS"
+EXTRA_KCFLAGS="-Werror"
+LB_CHECK_COMPILE([if 'd_in_lookup' is defined],
+d_in_lookup, [
+       #include <linux/dcache.h>
+],[
+       d_in_lookup(NULL);
+],[
+       AC_DEFINE(HAVE_D_IN_LOOKUP, 1, [d_in_lookup is defined])
+])
+EXTRA_KCFLAGS="$tmp_flags"
+]) # LC_D_IN_LOOKUP
+
+#
 # LC_DIRECTIO_2ARGS
 #
 # Kernel version 4.7 commit c8b8e32d700fe943a935e435ae251364d016c497
@@ -2990,12 +3053,14 @@ AC_DEFUN([LC_PROG_LINUX], [
 
        LC_CONFIG_PINGER
        LC_CONFIG_CHECKSUM
+       LC_CONFIG_FLOCK
        LC_CONFIG_HEALTH_CHECK_WRITE
        LC_CONFIG_LRU_RESIZE
 
        LC_GLIBC_SUPPORT_FHANDLES
        LC_CONFIG_GSS
        LC_OPENSSL_SSK
+       LC_OPENSSL_GETSEPOL
 
        # 2.6.32
        LC_BLK_QUEUE_MAX_SEGMENTS
@@ -3182,6 +3247,7 @@ AC_DEFUN([LC_PROG_LINUX], [
        LC_HAVE_XATTR_HANDLER_INODE_PARAM
 
        # 4.7
+       LC_D_IN_LOOKUP
        LC_DIRECTIO_2ARGS
        LC_GENERIC_WRITE_SYNC_2ARGS
        LC_FOPS_ITERATE_SHARED
@@ -3506,6 +3572,7 @@ AM_CONDITIONAL(LIBPTHREAD, test x$enable_libpthread = xyes)
 AM_CONDITIONAL(HAVE_SYSTEMD, test "x$with_systemdsystemunitdir" != "xno")
 AM_CONDITIONAL(XATTR_HANDLER, test "x$lb_cv_compile_xattr_handler_flags" = xyes)
 AM_CONDITIONAL(SELINUX, test "$SELINUX" = "-lselinux")
+AM_CONDITIONAL(GETSEPOL, test x$enable_getsepol = xyes)
 ]) # LC_CONDITIONALS
 
 #
@@ -3542,6 +3609,7 @@ lustre/kernel_patches/targets/3.0-sles11sp4.target
 lustre/kernel_patches/targets/3.12-sles12.target
 lustre/kernel_patches/targets/4.4-sles12.target
 lustre/kernel_patches/targets/4.4-sles12sp3.target
+lustre/kernel_patches/targets/4.12-sles12sp4.target
 lustre/kernel_patches/targets/2.6-fc11.target
 lustre/kernel_patches/targets/2.6-fc12.target
 lustre/kernel_patches/targets/2.6-fc15.target