aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/kernel-rename.m435
-rw-r--r--module/os/linux/zfs/zpl_inode.c5
2 files changed, 5 insertions, 35 deletions
diff --git a/config/kernel-rename.m4 b/config/kernel-rename.m4
index cbb27082b..d4846a509 100644
--- a/config/kernel-rename.m4
+++ b/config/kernel-rename.m4
@@ -1,24 +1,5 @@
AC_DEFUN([ZFS_AC_KERNEL_SRC_RENAME], [
dnl #
- dnl # 3.9 (to 4.9) API change,
- dnl #
- dnl # A new version of iops->rename() was added (rename2) that takes a flag
- dnl # argument (to support renameat2). However this separate function was
- dnl # merged back into iops->rename() in Linux 4.9.
- dnl #
- ZFS_LINUX_TEST_SRC([inode_operations_rename2], [
- #include <linux/fs.h>
- static int rename2_fn(struct inode *sip, struct dentry *sdp,
- struct inode *tip, struct dentry *tdp,
- unsigned int flags) { return 0; }
-
- static const struct inode_operations
- iops __attribute__ ((unused)) = {
- .rename2 = rename2_fn,
- };
- ],[])
-
- dnl #
dnl # 4.9 API change,
dnl #
dnl # iops->rename2() merged into iops->rename(), and iops->rename() now
@@ -85,21 +66,13 @@ AC_DEFUN([ZFS_AC_KERNEL_RENAME], [
],[
AC_MSG_RESULT(no)
- AC_MSG_CHECKING([whether iops->rename2() exists])
- ZFS_LINUX_TEST_RESULT([inode_operations_rename2], [
+ AC_MSG_CHECKING([whether iops->rename() wants flags])
+ ZFS_LINUX_TEST_RESULT([inode_operations_rename_flags], [
AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_RENAME2, 1, [iops->rename2() exists])
+ AC_DEFINE(HAVE_RENAME_WANTS_FLAGS, 1,
+ [iops->rename() wants flags])
],[
AC_MSG_RESULT(no)
-
- AC_MSG_CHECKING([whether iops->rename() wants flags])
- ZFS_LINUX_TEST_RESULT([inode_operations_rename_flags], [
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_RENAME_WANTS_FLAGS, 1,
- [iops->rename() wants flags])
- ],[
- AC_MSG_RESULT(no)
- ])
])
])
])
diff --git a/module/os/linux/zfs/zpl_inode.c b/module/os/linux/zfs/zpl_inode.c
index ed2e3b325..3cd18ac78 100644
--- a/module/os/linux/zfs/zpl_inode.c
+++ b/module/os/linux/zfs/zpl_inode.c
@@ -591,7 +591,6 @@ zpl_rename2(struct inode *sdip, struct dentry *sdentry,
#if !defined(HAVE_IOPS_RENAME_USERNS) && \
!defined(HAVE_RENAME_WANTS_FLAGS) && \
- !defined(HAVE_RENAME2) && \
!defined(HAVE_IOPS_RENAME_IDMAP)
static int
zpl_rename(struct inode *sdip, struct dentry *sdentry,
@@ -757,9 +756,7 @@ const struct inode_operations zpl_dir_inode_operations = {
.mkdir = zpl_mkdir,
.rmdir = zpl_rmdir,
.mknod = zpl_mknod,
-#ifdef HAVE_RENAME2
- .rename2 = zpl_rename2,
-#elif defined(HAVE_RENAME_WANTS_FLAGS) || defined(HAVE_IOPS_RENAME_USERNS)
+#if defined(HAVE_RENAME_WANTS_FLAGS) || defined(HAVE_IOPS_RENAME_USERNS)
.rename = zpl_rename2,
#elif defined(HAVE_IOPS_RENAME_IDMAP)
.rename = zpl_rename2,