Whamcloud - gitweb
LU-2784 build: Provide RPMs build for Xeon Phi(TM) card
[fs/lustre-release.git] / lustre / autoconf / lustre-core.m4
index bbecaf8..8f92859 100644 (file)
@@ -20,7 +20,7 @@ LUSTRE="$PWD/lustre"
 AC_SUBST(LUSTRE)
 
 # mount.lustre
-rootsbindir='/sbin'
+rootsbindir='$(CROSS_PATH)/sbin'
 AC_SUBST(rootsbindir)
 
 demodir='$(docdir)/demo'
@@ -120,13 +120,13 @@ LB_LINUX_TRY_COMPILE([
 #
 AC_DEFUN([LC_MDS_MAX_THREADS],
 [
-        AC_ARG_WITH([mds_max_threads],
-        AC_HELP_STRING([--with-mds-max-threads=size],
-                        [define the maximum number of threads available on the MDS: (default=512)]),
-        [
-                MDS_THREAD_COUNT=$with_mds_max_threads
-                AC_DEFINE_UNQUOTED(MDT_MAX_THREADS, $MDS_THREAD_COUNT, [maximum number of mdt threads])
-        ])
+       AC_ARG_WITH([mds_max_threads],
+       AC_HELP_STRING([--with-mds-max-threads=count],
+                      [maximum threads available on the MDS: (default=512)]),
+       [
+               MDS_THREAD_COUNT=$with_mds_max_threads
+               AC_DEFINE_UNQUOTED(MDS_MAX_THREADS, $MDS_THREAD_COUNT, [maximum number of MDS threads])
+       ])
 ])
 
 #
@@ -439,9 +439,9 @@ AC_DEFUN([LC_CONFIG_GSS],
         LB_LINUX_CONFIG_IM([CRYPTO_SHA512],[],
                            [AC_MSG_WARN([kernel SHA512 support is recommended by using GSS.])])
 
-        AC_CHECK_LIB([gssapi], [gss_init_sec_context],
+        AC_CHECK_LIB([gssapi], [gss_export_lucid_sec_context],
                      [GSSAPI_LIBS="$GSSAPI_LDFLAGS -lgssapi"],
-                     [AC_CHECK_LIB([gssglue], [gss_init_sec_context],
+                     [AC_CHECK_LIB([gssglue], [gss_export_lucid_sec_context],
                                    [GSSAPI_LIBS="$GSSAPI_LDFLAGS -lgssglue"],
                                    [AC_MSG_ERROR([libgssapi or libgssglue is not found, which is required by GSS.])])],)
 
@@ -1114,6 +1114,42 @@ LB_LINUX_TRY_COMPILE([
 ])
 ])
 
+# 2.6.34 has quotactl_ops->[sg]et_dqblk that take struct fs_disk_quota
+AC_DEFUN([LC_HAVE_DQUOT_FS_DISK_QUOTA],
+tmp_flags="$EXTRA_KCFLAGS"
+EXTRA_KCFLAGS="-Werror"
+[AC_MSG_CHECKING([if quotactl_ops.set_dqblk takes struct fs_disk_quota])
+LB_LINUX_TRY_COMPILE([
+       #include <linux/fs.h>
+       #include <linux/quota.h>
+],[
+       struct quotactl_ops qops = {};
+       struct fs_disk_quota fdq;
+       qops.set_dqblk(NULL, 0, 0, &fdq);
+],[
+       AC_DEFINE(HAVE_DQUOT_FS_DISK_QUOTA, 1, [quotactl_ops.set_dqblk takes struct fs_disk_quota])
+       AC_MSG_RESULT([yes])
+],[
+       AC_MSG_RESULT([no])
+])
+EXTRA_KCFLAGS="$tmp_flags"
+])
+
+# 2.6.34 has renamed dquot options to dquot_*, check for dquot_suspend
+AC_DEFUN([LC_HAVE_DQUOT_SUSPEND],
+[AC_MSG_CHECKING([if dquot_suspend is defined])
+LB_LINUX_TRY_COMPILE([
+       #include <linux/quotaops.h>
+],[
+       dquot_suspend(NULL, -1);
+],[
+       AC_DEFINE(HAVE_DQUOT_SUSPEND, 1, [dquot_suspend is defined])
+       AC_MSG_RESULT([yes])
+],[
+       AC_MSG_RESULT([no])
+])
+])
+
 # LC_LOCK_MAP_ACQUIRE
 # after 2.6.27 lock_map_acquire replaces lock_acquire
 AC_DEFUN([LC_LOCK_MAP_ACQUIRE],
@@ -1729,6 +1765,26 @@ LB_LINUX_TRY_COMPILE([
 ])
 
 #
+# 3.0 dirty_inode() has a flag parameter
+# see kernel commit aa38572954ade525817fe88c54faebf85e5a61c0
+#
+AC_DEFUN([LC_DIRTY_INODE_WITH_FLAG],
+[AC_MSG_CHECKING([if dirty_inode super_operation takes flag])
+LB_LINUX_TRY_COMPILE([
+       #include <linux/fs.h>
+],[
+       struct inode *inode;
+       inode->i_sb->s_op->dirty_inode(NULL, 0);
+],[
+       AC_DEFINE(HAVE_DIRTY_INODE_HAS_FLAG, 1,
+                 [dirty_inode super_operation takes flag])
+       AC_MSG_RESULT([yes])
+],[
+       AC_MSG_RESULT([no])
+])
+])
+
+#
 # 2.6.38 generic_permission taken 4 parameters.
 # in fact, it means rcu-walk aware permission bring.
 #
@@ -2090,6 +2146,22 @@ LB_LINUX_TRY_COMPILE([
 EXTRA_KCFLAGS="$tmp_flags"
 ])
 
+# 3.5 has generic_file_llseek_size with 5 args
+AC_DEFUN([LC_FILE_LLSEEK_SIZE_5ARG],
+[AC_MSG_CHECKING([if kernel has generic_file_llseek_size with 5 args])
+LB_LINUX_TRY_COMPILE([
+       #include <linux/fs.h>
+],[
+       generic_file_llseek_size(NULL, 0, 0, 0, 0);
+], [
+       AC_MSG_RESULT([yes])
+       AC_DEFINE(HAVE_FILE_LLSEEK_SIZE_5ARGS, 1,
+               [kernel has generic_file_llseek_size with 5 args])
+],[
+       AC_MSG_RESULT([no])
+])
+])
+
 #
 # 3.6 switch i_dentry/d_alias from list to hlist
 #
@@ -2278,6 +2350,10 @@ AC_DEFUN([LC_PROG_LINUX],
          LC_EXPORT_ACCESS_PROCESS_VM
         LC_VFS_INODE_NEWSIZE_OK
 
+        # 2.6.34
+        LC_HAVE_DQUOT_FS_DISK_QUOTA
+        LC_HAVE_DQUOT_SUSPEND
+
          # 2.6.35, 3.0.0
          LC_FILE_FSYNC
          LC_EXPORT_SIMPLE_SETATTR
@@ -2301,6 +2377,9 @@ AC_DEFUN([LC_PROG_LINUX],
          LC_REQUEST_QUEUE_UNPLUG_FN
         LC_HAVE_FSTYPE_MOUNT
 
+        # 3.0
+        LC_DIRTY_INODE_WITH_FLAG
+
         # 3.1
         LC_LM_XXX_LOCK_MANAGER_OPS
         LC_INODE_DIO_WAIT
@@ -2328,6 +2407,7 @@ AC_DEFUN([LC_PROG_LINUX],
         # 3.5
         LC_HAVE_CLEAR_INODE
         LC_HAVE_ENCODE_FH_PARENT
+        LC_FILE_LLSEEK_SIZE_5ARG
 
         # 3.6
         LC_HAVE_DENTRY_D_ALIAS_HLIST
@@ -2803,13 +2883,12 @@ lustre/include/darwin/Makefile
 lustre/include/lustre/Makefile
 lustre/kernel_patches/targets/2.6-rhel6.target
 lustre/kernel_patches/targets/2.6-rhel5.target
-lustre/kernel_patches/targets/2.6-sles10.target
 lustre/kernel_patches/targets/2.6-sles11.target
 lustre/kernel_patches/targets/3.0-sles11.target
-lustre/kernel_patches/targets/2.6-oel5.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
+lustre/kernel_patches/targets/3.x-fc18.target
 lustre/ldlm/Makefile
 lustre/fid/Makefile
 lustre/fid/autoMakefile