a=adilger
r=zhenyu.xu, sheng.yang
check if synchronize_rcu is available, otherwise use synchronize_kernel
+# LC_EXPORT_SYNCHRONIZE_RCU
+# after 2.6.12 synchronize_rcu is preferred over synchronize_kernel
+AC_DEFUN([LC_EXPORT_SYNCHRONIZE_RCU],
+[LB_CHECK_SYMBOL_EXPORT([synchronize_rcu],
+[kernel/rcupdate.c],[
+ AC_DEFINE(HAVE_SYNCHRONIZE_RCU, 1,
+ [in 2.6.12 synchronize_rcu preferred over synchronize_kernel])
+],[
+])
+])
+
# LC_INODE_I_MUTEX
# after 2.6.15 inode have i_mutex intead of i_sem
AC_DEFUN([LC_INODE_I_MUTEX],
# LC_INODE_I_MUTEX
# after 2.6.15 inode have i_mutex intead of i_sem
AC_DEFUN([LC_INODE_I_MUTEX],
+ LC_EXPORT_SYNCHRONIZE_RCU
# 2.6.15
LC_INODE_I_MUTEX
# 2.6.15
LC_INODE_I_MUTEX
#define ll_crypto_tfm_alg_max_keysize crypto_tfm_alg_max_keysize
#endif /* HAVE_ASYNC_BLOCK_CIPHER */
#define ll_crypto_tfm_alg_max_keysize crypto_tfm_alg_max_keysize
#endif /* HAVE_ASYNC_BLOCK_CIPHER */
+#ifndef HAVE_SYNCHRONIZE_RCU
+#define synchronize_rcu() synchronize_kernel()
+#endif
+
#ifdef HAVE_SECURITY_PLUG
#define ll_remove_suid(inode,mnt) remove_suid(inode,mnt)
#define ll_vfs_rmdir(dir,entry,mnt) vfs_rmdir(dir,entry,mnt)
#ifdef HAVE_SECURITY_PLUG
#define ll_remove_suid(inode,mnt) remove_suid(inode,mnt)
#define ll_vfs_rmdir(dir,entry,mnt) vfs_rmdir(dir,entry,mnt)