aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorChunwei Chen <[email protected]>2014-05-07 10:54:37 -0700
committerBrian Behlendorf <[email protected]>2014-05-07 13:38:17 -0700
commitad3412efd7cc2debb0f9f354d3f5e105a99d97e1 (patch)
tree31a9be5222a01b064db190550fbb65ab730fc49e /config
parent1538f4b6e3cc08c334f58b0025aa7de1d6c97e1a (diff)
Linux 3.15: vfs_rename() added a flags argument
Detect the updated vfs_rename() interface and call it with an extra flags argument. References: torvalds/linux@520c8b1 Signed-off-by: Chunwei Chen <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Issue #355
Diffstat (limited to 'config')
-rw-r--r--config/spl-build.m423
1 files changed, 22 insertions, 1 deletions
diff --git a/config/spl-build.m4 b/config/spl-build.m4
index 84267807d..08b84efe9 100644
--- a/config/spl-build.m4
+++ b/config/spl-build.m4
@@ -1907,7 +1907,28 @@ AC_DEFUN([SPL_AC_4ARGS_VFS_RENAME],
AC_DEFINE(HAVE_5ARGS_VFS_RENAME, 1,
[vfs_rename() wants 5 args])
],[
- AC_MSG_ERROR(no)
+ AC_MSG_RESULT(no)
+ dnl #
+ dnl # Linux 3.15 API change
+ dnl # Added flags
+ dnl #
+ AC_MSG_CHECKING([whether vfs_rename() wants 6 args])
+ SPL_LINUX_TRY_COMPILE([
+ #include <linux/fs.h>
+ ],[
+ vfs_rename((struct inode *) NULL,
+ (struct dentry *) NULL,
+ (struct inode *) NULL,
+ (struct dentry *) NULL,
+ (struct inode **) NULL,
+ (unsigned int) 0);
+ ],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_6ARGS_VFS_RENAME, 1,
+ [vfs_rename() wants 6 args])
+ ],[
+ AC_MSG_ERROR(no)
+ ])
])
])
])