AC_SUBST(LUSTRE)
# mount.lustre
-rootsbindir='/sbin'
+rootsbindir='$(CROSS_PATH)/sbin'
AC_SUBST(rootsbindir)
demodir='$(docdir)/demo'
#
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])
+ ])
])
#
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.])])],)
])
])
+# 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],
])
#
+# 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.
#
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
#
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
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
# 3.5
LC_HAVE_CLEAR_INODE
LC_HAVE_ENCODE_FH_PARENT
+ LC_FILE_LLSEEK_SIZE_5ARG
# 3.6
LC_HAVE_DENTRY_D_ALIAS_HLIST
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