summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2010-07-14 11:26:54 -0700
committerBrian Behlendorf <[email protected]>2010-07-14 11:40:55 -0700
commitf0ff89fc86873a96a3f60e86e1694775b664663e (patch)
tree21099dfd7e18a032ecb11d868be580eb61b1def3 /config
parent82b8c8fa64737edfb203156b245b48840139d2c1 (diff)
Linux 2.6.35 compat: filp_fsync() dropped 'stuct dentry *'
The prototype for filp_fsync() drop the unused argument 'stuct dentry *'. I've fixed this by adding the needed autoconf check and moving all of those filp related functions to file_compat.h. This will simplify handling any further API changes in the future.
Diffstat (limited to 'config')
-rw-r--r--config/spl-build.m420
1 files changed, 20 insertions, 0 deletions
diff --git a/config/spl-build.m4 b/config/spl-build.m4
index ae4e1f162..b908a56d5 100644
--- a/config/spl-build.m4
+++ b/config/spl-build.m4
@@ -76,6 +76,7 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [
SPL_AC_PUT_TASK_STRUCT
SPL_AC_5ARGS_PROC_HANDLER
SPL_AC_KVASPRINTF
+ SPL_AC_3ARGS_FILE_FSYNC
])
AC_DEFUN([SPL_AC_MODULE_SYMVERS], [
@@ -1438,3 +1439,22 @@ AC_DEFUN([SPL_AC_KVASPRINTF], [
[kvasprintf() is available])],
[])
])
+
+dnl #
+dnl # 2.6.35 API change,
+dnl # Unused 'struct dentry *' removed from prototype.
+dnl #
+AC_DEFUN([SPL_AC_3ARGS_FILE_FSYNC], [
+ AC_MSG_CHECKING([whether file_fsync() wants 3 args])
+ SPL_LINUX_TRY_COMPILE([
+ #include <linux/buffer_head.h>
+ ],[
+ file_fsync(NULL, NULL, 0);
+ ],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_3ARGS_FILE_FSYNC, 1,
+ [file_fsync() wants 3 args])
+ ],[
+ AC_MSG_RESULT(no)
+ ])
+])