Whamcloud - gitweb
LU-812 ldiskfs: super_operations->dirty_inode now takes a flag
[fs/lustre-release.git] / lustre / autoconf / lustre-core.m4
index afc03fa..601155c 100644 (file)
@@ -1135,6 +1135,21 @@ LB_LINUX_TRY_COMPILE([
 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],
@@ -1750,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.
 #
@@ -2111,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
 #
@@ -2301,6 +2352,7 @@ AC_DEFUN([LC_PROG_LINUX],
 
         # 2.6.34
         LC_HAVE_DQUOT_FS_DISK_QUOTA
+        LC_HAVE_DQUOT_SUSPEND
 
          # 2.6.35, 3.0.0
          LC_FILE_FSYNC
@@ -2325,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
@@ -2352,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
@@ -2834,6 +2890,7 @@ 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