+# Check if kernel has been patched for 64-bit quota limits support.
+# The upstream version of this patch in RHEL6 2.6.32 kernels introduces
+# the constant QFMT_VFS_V1 in include/linux/quota.h, so we can check for
+# that in the absence of quotaio_v1.h in the kernel headers.
+#
+AC_DEFUN([LC_QUOTA64],[
+ AC_MSG_CHECKING([if kernel has 64-bit quota limits support])
+tmp_flags="$EXTRA_KCFLAGS"
+EXTRA_KCFLAGS="-I$LINUX/fs"
+ LB_LINUX_TRY_COMPILE([
+ #include <linux/kernel.h>
+ #include <linux/fs.h>
+ #ifdef HAVE_QUOTAIO_H
+ # include <linux/quotaio_v2.h>
+ int versions[] = V2_INITQVERSIONS_R1;
+ struct v2_disk_dqblk_r1 dqblk_r1;
+ #elif defined(HAVE_FS_QUOTA_QUOTAIO_H)
+ # include <quota/quotaio_v2.h>
+ struct v2r1_disk_dqblk dqblk_r1;
+ #elif defined(HAVE_FS_QUOTAIO_H)
+ # include <quotaio_v2.h>
+ struct v2r1_disk_dqblk dqblk_r1;
+ #else
+ #include <linux/quota.h>
+ int ver = QFMT_VFS_V1;
+ #endif
+ ],[],[
+ AC_DEFINE(HAVE_QUOTA64, 1, [have quota64])
+ AC_MSG_RESULT([yes])
+ ],[
+ LB_CHECK_FILE([$LINUX/include/linux/lustre_version.h],[
+ AC_MSG_ERROR([You have got no 64-bit kernel quota support.])
+ ],[])
+ AC_MSG_RESULT([no])
+ ])
+EXTRA_KCFLAGS=$tmp_flags
+])
+
+# 2.6.32 set_cpus_allowed is no more defined if CONFIG_CPUMASK_OFFSTACK=yes
+AC_DEFUN([LC_SET_CPUS_ALLOWED],
+ [AC_MSG_CHECKING([if kernel defines set_cpus_allowed])
+ LB_LINUX_TRY_COMPILE(
+ [#include <linux/sched.h>],
+ [struct task_struct *p = NULL;
+ cpumask_t mask = { { 0 } };
+ (void) set_cpus_allowed(p, mask);],
+ [AC_MSG_RESULT([yes])
+ AC_DEFINE(HAVE_SET_CPUS_ALLOWED, 1,
+ [set_cpus_allowed is exported by the kernel])],
+ [AC_MSG_RESULT([no])] )])
+
+# 2.6.32 introduces selinux_is_enabled()
+AC_DEFUN([LC_SELINUX_IS_ENABLED],
+[AC_MSG_CHECKING([if selinux_is_enabled is available])