diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking
index da320bc08b9e284bcbf7ef78808f881bbca68fb8..fe15682e8acde0a8a95df89ef81305520a99f474 100644
--- a/Documentation/filesystems/Locking
+++ b/Documentation/filesystems/Locking
@@ -50,7 +50,7 @@ prototypes:
 	int (*mkdir) (struct inode *,struct dentry *,umode_t);
 	int (*rmdir) (struct inode *,struct dentry *);
 	int (*mknod) (struct inode *,struct dentry *,umode_t,dev_t);
-	int (*rename2) (struct inode *, struct dentry *,
+	int (*rename) (struct inode *, struct dentry *,
 			struct inode *, struct dentry *, unsigned int);
 	int (*readlink) (struct dentry *, char __user *,int);
 	const char *(*get_link) (struct dentry *, struct inode *, void **);
@@ -81,7 +81,7 @@ symlink:	yes
 mkdir:		yes
 unlink:		yes (both)
 rmdir:		yes (both)	(see below)
-rename2:	yes (all)	(see below)
+rename:	yes (all)	(see below)
 readlink:	no
 get_link:	no
 setattr:	yes
@@ -99,7 +99,7 @@ tmpfile:	no
 
 	Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on
 victim.
-	cross-directory ->rename2() has (per-superblock) ->s_vfs_rename_sem.
+	cross-directory ->rename() has (per-superblock) ->s_vfs_rename_sem.
 
 See Documentation/filesystems/directory-locking for more detailed discussion
 of the locking scheme for directory operations.
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt
index c641e0c37a071c1747d53935e08eee8b7d866fbd..b6bfa0bc02f8b074d5d4cf2f3763eac094ac782d 100644
--- a/Documentation/filesystems/vfs.txt
+++ b/Documentation/filesystems/vfs.txt
@@ -345,7 +345,7 @@ struct inode_operations {
 	int (*mkdir) (struct inode *,struct dentry *,umode_t);
 	int (*rmdir) (struct inode *,struct dentry *);
 	int (*mknod) (struct inode *,struct dentry *,umode_t,dev_t);
-	int (*rename2) (struct inode *, struct dentry *,
+	int (*rename) (struct inode *, struct dentry *,
 			struct inode *, struct dentry *, unsigned int);
 	int (*readlink) (struct dentry *, char __user *,int);
 	const char *(*get_link) (struct dentry *, struct inode *,
diff --git a/drivers/staging/lustre/lustre/llite/namei.c b/drivers/staging/lustre/lustre/llite/namei.c
index ec824db2ad33a4eb9478bbe9e386a9b7f2cb51c6..a603f29349f96b5b6f295f5dbfc78d22c05e91ae 100644
--- a/drivers/staging/lustre/lustre/llite/namei.c
+++ b/drivers/staging/lustre/lustre/llite/namei.c
@@ -1106,7 +1106,7 @@ const struct inode_operations ll_dir_inode_operations = {
 	.rmdir	      = ll_rmdir,
 	.symlink	    = ll_symlink,
 	.link	       = ll_link,
-	.rename2	= ll_rename,
+	.rename		= ll_rename,
 	.setattr	    = ll_setattr,
 	.getattr	    = ll_getattr,
 	.permission	 = ll_inode_permission,
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
index 50ab1a615207ab1b968201cdb067d58bb54e4260..0ad3c6c712b80f562541f6769f1ed6a47592c9a7 100644
--- a/fs/9p/vfs_inode.c
+++ b/fs/9p/vfs_inode.c
@@ -1440,7 +1440,7 @@ static const struct inode_operations v9fs_dir_inode_operations_dotu = {
 	.mkdir = v9fs_vfs_mkdir,
 	.rmdir = v9fs_vfs_rmdir,
 	.mknod = v9fs_vfs_mknod,
-	.rename2 = v9fs_vfs_rename,
+	.rename = v9fs_vfs_rename,
 	.getattr = v9fs_vfs_getattr,
 	.setattr = v9fs_vfs_setattr,
 };
@@ -1453,7 +1453,7 @@ static const struct inode_operations v9fs_dir_inode_operations = {
 	.mkdir = v9fs_vfs_mkdir,
 	.rmdir = v9fs_vfs_rmdir,
 	.mknod = v9fs_vfs_mknod,
-	.rename2 = v9fs_vfs_rename,
+	.rename = v9fs_vfs_rename,
 	.getattr = v9fs_vfs_getattr,
 	.setattr = v9fs_vfs_setattr,
 };
diff --git a/fs/9p/vfs_inode_dotl.c b/fs/9p/vfs_inode_dotl.c
index 8164be972b5c9777cbec0f8443938edc02e06ae2..eeabcb0bad1255085c2d487785ebb92f638f00b0 100644
--- a/fs/9p/vfs_inode_dotl.c
+++ b/fs/9p/vfs_inode_dotl.c
@@ -964,7 +964,7 @@ const struct inode_operations v9fs_dir_inode_operations_dotl = {
 	.mkdir = v9fs_vfs_mkdir_dotl,
 	.rmdir = v9fs_vfs_rmdir,
 	.mknod = v9fs_vfs_mknod_dotl,
-	.rename2 = v9fs_vfs_rename,
+	.rename = v9fs_vfs_rename,
 	.getattr = v9fs_vfs_getattr_dotl,
 	.setattr = v9fs_vfs_setattr_dotl,
 	.setxattr = generic_setxattr,
diff --git a/fs/affs/dir.c b/fs/affs/dir.c
index 8f127c239472b434e6fddaf9b577330fe7e034bf..f1e7294381c5aa48a386a3a7c0db7f4832c568ec 100644
--- a/fs/affs/dir.c
+++ b/fs/affs/dir.c
@@ -35,7 +35,7 @@ const struct inode_operations affs_dir_inode_operations = {
 	.symlink	= affs_symlink,
 	.mkdir		= affs_mkdir,
 	.rmdir		= affs_rmdir,
-	.rename2	= affs_rename,
+	.rename		= affs_rename,
 	.setattr	= affs_notify_change,
 };
 
diff --git a/fs/afs/dir.c b/fs/afs/dir.c
index 381b7d0b6751d97066e65ac9ee2e99e7f1451b1f..51a241e09fbb9c96a19f5bc97cadce0ffa582514 100644
--- a/fs/afs/dir.c
+++ b/fs/afs/dir.c
@@ -57,7 +57,7 @@ const struct inode_operations afs_dir_inode_operations = {
 	.symlink	= afs_symlink,
 	.mkdir		= afs_mkdir,
 	.rmdir		= afs_rmdir,
-	.rename2	= afs_rename,
+	.rename		= afs_rename,
 	.permission	= afs_permission,
 	.getattr	= afs_getattr,
 	.setattr	= afs_setattr,
diff --git a/fs/bad_inode.c b/fs/bad_inode.c
index 3ba385eaa26ee0131e5e3eaf7bfed77290222942..536d2a3872671c007932e05d76feb0dab43c4686 100644
--- a/fs/bad_inode.c
+++ b/fs/bad_inode.c
@@ -133,7 +133,7 @@ static const struct inode_operations bad_inode_ops =
 	.mkdir		= bad_inode_mkdir,
 	.rmdir		= bad_inode_rmdir,
 	.mknod		= bad_inode_mknod,
-	.rename2	= bad_inode_rename2,
+	.rename		= bad_inode_rename2,
 	.readlink	= bad_inode_readlink,
 	/* follow_link must be no-op, otherwise unmounting this inode
 	   won't work */
diff --git a/fs/bfs/dir.c b/fs/bfs/dir.c
index 9d5f875e85d014c426da167ee40a88b67d588ebb..5e3369f7cd9d67438a4e1ea19e6e6acbf9512412 100644
--- a/fs/bfs/dir.c
+++ b/fs/bfs/dir.c
@@ -274,7 +274,7 @@ const struct inode_operations bfs_dir_inops = {
 	.lookup			= bfs_lookup,
 	.link			= bfs_link,
 	.unlink			= bfs_unlink,
-	.rename2		= bfs_rename,
+	.rename			= bfs_rename,
 };
 
 static int bfs_add_entry(struct inode *dir, const unsigned char *name,
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index e6811c42e41ef34d27119ee5420d4c6653df8519..c666020915278bbdaeabe0f09bdf05c2994863b2 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -10566,7 +10566,7 @@ static const struct inode_operations btrfs_dir_inode_operations = {
 	.link		= btrfs_link,
 	.mkdir		= btrfs_mkdir,
 	.rmdir		= btrfs_rmdir,
-	.rename2	= btrfs_rename2,
+	.rename		= btrfs_rename2,
 	.symlink	= btrfs_symlink,
 	.setattr	= btrfs_setattr,
 	.mknod		= btrfs_mknod,
diff --git a/fs/cachefiles/namei.c b/fs/cachefiles/namei.c
index 02e1507812de0e53849a25f5ebb3d36cef7012c5..9828850d88de29bf748f1fc15c368fb2a47cdea0 100644
--- a/fs/cachefiles/namei.c
+++ b/fs/cachefiles/namei.c
@@ -804,7 +804,7 @@ struct dentry *cachefiles_get_directory(struct cachefiles_cache *cache,
 	    !d_backing_inode(subdir)->i_op->lookup ||
 	    !d_backing_inode(subdir)->i_op->mkdir ||
 	    !d_backing_inode(subdir)->i_op->create ||
-	    !d_backing_inode(subdir)->i_op->rename2 ||
+	    !d_backing_inode(subdir)->i_op->rename ||
 	    !d_backing_inode(subdir)->i_op->rmdir ||
 	    !d_backing_inode(subdir)->i_op->unlink)
 		goto check_error;
diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c
index cef8252af38aed3e241d31092cbf9b46e8f05dbf..291a4d59c5f7a7117057c227bd9e25cc74d696e0 100644
--- a/fs/ceph/dir.c
+++ b/fs/ceph/dir.c
@@ -1502,7 +1502,7 @@ const struct inode_operations ceph_dir_iops = {
 	.link = ceph_link,
 	.unlink = ceph_unlink,
 	.rmdir = ceph_unlink,
-	.rename2 = ceph_rename,
+	.rename = ceph_rename,
 	.create = ceph_create,
 	.atomic_open = ceph_atomic_open,
 };
@@ -1513,7 +1513,7 @@ const struct inode_operations ceph_snapdir_iops = {
 	.getattr = ceph_getattr,
 	.mkdir = ceph_mkdir,
 	.rmdir = ceph_unlink,
-	.rename2 = ceph_rename,
+	.rename = ceph_rename,
 };
 
 const struct dentry_operations ceph_dentry_ops = {
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
index 14ae4b8e1a3ce8370b282503c91a1ff428d61f5b..7d0e0f78da51a3acf9a1aa0b8ccd97ef1e3da42d 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -896,7 +896,7 @@ const struct inode_operations cifs_dir_inode_ops = {
 	.link = cifs_hardlink,
 	.mkdir = cifs_mkdir,
 	.rmdir = cifs_rmdir,
-	.rename2 = cifs_rename2,
+	.rename = cifs_rename2,
 	.permission = cifs_permission,
 	.setattr = cifs_setattr,
 	.symlink = cifs_symlink,
diff --git a/fs/coda/dir.c b/fs/coda/dir.c
index 5d79c26b048488c917b3d8b19240a8168a5cb0e1..82aceaef8e4eda2648644a8b784139f0883282b9 100644
--- a/fs/coda/dir.c
+++ b/fs/coda/dir.c
@@ -573,7 +573,7 @@ const struct inode_operations coda_dir_inode_operations = {
 	.mkdir		= coda_mkdir,
 	.rmdir		= coda_rmdir,
 	.mknod		= CODA_EIO_ERROR,
-	.rename2	= coda_rename,
+	.rename		= coda_rename,
 	.permission	= coda_permission,
 	.getattr	= coda_getattr,
 	.setattr	= coda_setattr,
diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c
index f3ff7c4d384c06d31a4df130df06157294847d23..fe83c1050048b06f36327b9f9b2a9e12ce4b89f2 100644
--- a/fs/ecryptfs/inode.c
+++ b/fs/ecryptfs/inode.c
@@ -1108,7 +1108,7 @@ const struct inode_operations ecryptfs_dir_iops = {
 	.mkdir = ecryptfs_mkdir,
 	.rmdir = ecryptfs_rmdir,
 	.mknod = ecryptfs_mknod,
-	.rename2 = ecryptfs_rename,
+	.rename = ecryptfs_rename,
 	.permission = ecryptfs_permission,
 	.setattr = ecryptfs_setattr,
 	.setxattr = ecryptfs_setxattr,
diff --git a/fs/exofs/namei.c b/fs/exofs/namei.c
index ddf343259f1304781e71031d63f988346a6be2f3..53d838200cc99e6787b40a55b81ee2619fd91d25 100644
--- a/fs/exofs/namei.c
+++ b/fs/exofs/namei.c
@@ -314,7 +314,7 @@ const struct inode_operations exofs_dir_inode_operations = {
 	.mkdir  	= exofs_mkdir,
 	.rmdir  	= exofs_rmdir,
 	.mknod  	= exofs_mknod,
-	.rename2	= exofs_rename,
+	.rename		= exofs_rename,
 	.setattr	= exofs_setattr,
 };
 
diff --git a/fs/ext2/namei.c b/fs/ext2/namei.c
index 38fac85ff78651acf56b1fb2e8394e130766d5ef..be32e20a2b8863a19e48d9ddac2dd2a14354bb00 100644
--- a/fs/ext2/namei.c
+++ b/fs/ext2/namei.c
@@ -430,7 +430,7 @@ const struct inode_operations ext2_dir_inode_operations = {
 	.mkdir		= ext2_mkdir,
 	.rmdir		= ext2_rmdir,
 	.mknod		= ext2_mknod,
-	.rename2	= ext2_rename,
+	.rename		= ext2_rename,
 #ifdef CONFIG_EXT2_FS_XATTR
 	.setxattr	= generic_setxattr,
 	.getxattr	= generic_getxattr,
diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
index 34c0142caf6a1feeb98b8c06f6f4371e57782d6c..0464e2c0d3fda77f2e49f7d54a3cded7934a3224 100644
--- a/fs/ext4/namei.c
+++ b/fs/ext4/namei.c
@@ -3880,7 +3880,7 @@ const struct inode_operations ext4_dir_inode_operations = {
 	.rmdir		= ext4_rmdir,
 	.mknod		= ext4_mknod,
 	.tmpfile	= ext4_tmpfile,
-	.rename2	= ext4_rename2,
+	.rename		= ext4_rename2,
 	.setattr	= ext4_setattr,
 	.setxattr	= generic_setxattr,
 	.getxattr	= generic_getxattr,
diff --git a/fs/f2fs/namei.c b/fs/f2fs/namei.c
index 73fa356f8fbb0da2cc6782a310026d6fba3dbdeb..08e3d1d7a5009f3fcc76233f688152a0d2bf501f 100644
--- a/fs/f2fs/namei.c
+++ b/fs/f2fs/namei.c
@@ -1093,7 +1093,7 @@ const struct inode_operations f2fs_dir_inode_operations = {
 	.mkdir		= f2fs_mkdir,
 	.rmdir		= f2fs_rmdir,
 	.mknod		= f2fs_mknod,
-	.rename2	= f2fs_rename2,
+	.rename		= f2fs_rename2,
 	.tmpfile	= f2fs_tmpfile,
 	.getattr	= f2fs_getattr,
 	.setattr	= f2fs_setattr,
diff --git a/fs/fat/namei_msdos.c b/fs/fat/namei_msdos.c
index 6c814699d5d563f22f0924092a41a8788c489899..a8f6aa9699483123791a83fd72e9e0dbd3fb440b 100644
--- a/fs/fat/namei_msdos.c
+++ b/fs/fat/namei_msdos.c
@@ -637,7 +637,7 @@ static const struct inode_operations msdos_dir_inode_operations = {
 	.unlink		= msdos_unlink,
 	.mkdir		= msdos_mkdir,
 	.rmdir		= msdos_rmdir,
-	.rename2	= msdos_rename,
+	.rename		= msdos_rename,
 	.setattr	= fat_setattr,
 	.getattr	= fat_getattr,
 };
diff --git a/fs/fat/namei_vfat.c b/fs/fat/namei_vfat.c
index ce8986f3918ae30bbb478b05ed52ec1dea8748ef..c5e48b8631ccb5bbaa2ebe5269b99bc266d4b65a 100644
--- a/fs/fat/namei_vfat.c
+++ b/fs/fat/namei_vfat.c
@@ -1040,7 +1040,7 @@ static const struct inode_operations vfat_dir_inode_operations = {
 	.unlink		= vfat_unlink,
 	.mkdir		= vfat_mkdir,
 	.rmdir		= vfat_rmdir,
-	.rename2	= vfat_rename,
+	.rename		= vfat_rename,
 	.setattr	= fat_setattr,
 	.getattr	= fat_getattr,
 };
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c
index c47b7780ce37bfdf85c35ebc5ef6bf390f9c70e7..4bfeaa70815f6c76cfa8ea06eadbe856d4c91d43 100644
--- a/fs/fuse/dir.c
+++ b/fs/fuse/dir.c
@@ -1876,7 +1876,7 @@ static const struct inode_operations fuse_dir_inode_operations = {
 	.symlink	= fuse_symlink,
 	.unlink		= fuse_unlink,
 	.rmdir		= fuse_rmdir,
-	.rename2	= fuse_rename2,
+	.rename		= fuse_rename2,
 	.link		= fuse_link,
 	.setattr	= fuse_setattr,
 	.create		= fuse_create,
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index e4da0ecd32852bb95d5bb3db8ae9cc71991f40f2..56825cc8ab87e159dd8c54947264224071188966 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2/inode.c
@@ -2054,7 +2054,7 @@ const struct inode_operations gfs2_dir_iops = {
 	.mkdir = gfs2_mkdir,
 	.rmdir = gfs2_unlink,
 	.mknod = gfs2_mknod,
-	.rename2 = gfs2_rename2,
+	.rename = gfs2_rename2,
 	.permission = gfs2_permission,
 	.setattr = gfs2_setattr,
 	.getattr = gfs2_getattr,
diff --git a/fs/hfs/dir.c b/fs/hfs/dir.c
index d5ce9fcad10f1ffdef6216e0e028b593ca28763e..4f7a1b64e2512a05918dcd63aa6bb710f33eef6e 100644
--- a/fs/hfs/dir.c
+++ b/fs/hfs/dir.c
@@ -324,6 +324,6 @@ const struct inode_operations hfs_dir_inode_operations = {
 	.unlink		= hfs_remove,
 	.mkdir		= hfs_mkdir,
 	.rmdir		= hfs_remove,
-	.rename2	= hfs_rename,
+	.rename		= hfs_rename,
 	.setattr	= hfs_inode_setattr,
 };
diff --git a/fs/hfsplus/dir.c b/fs/hfsplus/dir.c
index ca64a75f12b3a83064f19b1ea46f321710f73942..063577958126fdeacf4eff86b4a10fea40c55401 100644
--- a/fs/hfsplus/dir.c
+++ b/fs/hfsplus/dir.c
@@ -565,7 +565,7 @@ const struct inode_operations hfsplus_dir_inode_operations = {
 	.rmdir			= hfsplus_rmdir,
 	.symlink		= hfsplus_symlink,
 	.mknod			= hfsplus_mknod,
-	.rename2		= hfsplus_rename,
+	.rename			= hfsplus_rename,
 	.setxattr		= generic_setxattr,
 	.getxattr		= generic_getxattr,
 	.listxattr		= hfsplus_listxattr,
diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c
index 90e46cd752fe7568bc13198898bc450a63cc9e36..530606169e49b0e61da8b99eada97fb913f922c4 100644
--- a/fs/hostfs/hostfs_kern.c
+++ b/fs/hostfs/hostfs_kern.c
@@ -885,7 +885,7 @@ static const struct inode_operations hostfs_dir_iops = {
 	.mkdir		= hostfs_mkdir,
 	.rmdir		= hostfs_rmdir,
 	.mknod		= hostfs_mknod,
-	.rename2	= hostfs_rename2,
+	.rename		= hostfs_rename2,
 	.permission	= hostfs_permission,
 	.setattr	= hostfs_setattr,
 };
diff --git a/fs/hpfs/namei.c b/fs/hpfs/namei.c
index 3c5c1a75569dec83e0684b1e99b941f4a3ab7d26..f30c144145187343ac0d4bdadd39a529dae5f814 100644
--- a/fs/hpfs/namei.c
+++ b/fs/hpfs/namei.c
@@ -622,6 +622,6 @@ const struct inode_operations hpfs_dir_iops =
 	.mkdir		= hpfs_mkdir,
 	.rmdir		= hpfs_rmdir,
 	.mknod		= hpfs_mknod,
-	.rename2	= hpfs_rename,
+	.rename		= hpfs_rename,
 	.setattr	= hpfs_setattr,
 };
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index 50cd7475a942d06a637db9c50146ec05c4178e5d..4ea71eba40a57a3dd1c2e32460021878e12f56d3 100644
--- a/fs/hugetlbfs/inode.c
+++ b/fs/hugetlbfs/inode.c
@@ -988,7 +988,7 @@ static const struct inode_operations hugetlbfs_dir_inode_operations = {
 	.mkdir		= hugetlbfs_mkdir,
 	.rmdir		= simple_rmdir,
 	.mknod		= hugetlbfs_mknod,
-	.rename2	= simple_rename,
+	.rename		= simple_rename,
 	.setattr	= hugetlbfs_setattr,
 };
 
diff --git a/fs/jffs2/dir.c b/fs/jffs2/dir.c
index 11e711b12ccfac8d4ced11162c0de166a69d7d93..d957734a2adb1007e59f86fb3dce02a667b8538b 100644
--- a/fs/jffs2/dir.c
+++ b/fs/jffs2/dir.c
@@ -58,7 +58,7 @@ const struct inode_operations jffs2_dir_inode_operations =
 	.mkdir =	jffs2_mkdir,
 	.rmdir =	jffs2_rmdir,
 	.mknod =	jffs2_mknod,
-	.rename2 =	jffs2_rename,
+	.rename =	jffs2_rename,
 	.get_acl =	jffs2_get_acl,
 	.set_acl =	jffs2_set_acl,
 	.setattr =	jffs2_setattr,
diff --git a/fs/jfs/namei.c b/fs/jfs/namei.c
index ee1aa32f7c24d8107fd7aed4658dbea622fa4ac2..1d88df6ae81bd46328281cb66be05f601142c95d 100644
--- a/fs/jfs/namei.c
+++ b/fs/jfs/namei.c
@@ -1539,7 +1539,7 @@ const struct inode_operations jfs_dir_inode_operations = {
 	.mkdir		= jfs_mkdir,
 	.rmdir		= jfs_rmdir,
 	.mknod		= jfs_mknod,
-	.rename2	= jfs_rename,
+	.rename		= jfs_rename,
 	.setxattr	= generic_setxattr,
 	.getxattr	= generic_getxattr,
 	.listxattr	= jfs_listxattr,
diff --git a/fs/kernfs/dir.c b/fs/kernfs/dir.c
index c7e23ca945abf916afc0cd81610e12f05f173406..390390212b4324855331862d0110515bc5c618e5 100644
--- a/fs/kernfs/dir.c
+++ b/fs/kernfs/dir.c
@@ -1137,7 +1137,7 @@ const struct inode_operations kernfs_dir_iops = {
 
 	.mkdir		= kernfs_iop_mkdir,
 	.rmdir		= kernfs_iop_rmdir,
-	.rename2	= kernfs_iop_rename,
+	.rename		= kernfs_iop_rename,
 };
 
 static struct kernfs_node *kernfs_leftmost_descendant(struct kernfs_node *pos)
diff --git a/fs/logfs/dir.c b/fs/logfs/dir.c
index 57f2da17a9056cfce462a773e5bf5875d807c928..be37b907e65a0c1e07343e5e5c7e5e147f1b9a51 100644
--- a/fs/logfs/dir.c
+++ b/fs/logfs/dir.c
@@ -787,7 +787,7 @@ const struct inode_operations logfs_dir_iops = {
 	.lookup		= logfs_lookup,
 	.mkdir		= logfs_mkdir,
 	.mknod		= logfs_mknod,
-	.rename2	= logfs_rename,
+	.rename		= logfs_rename,
 	.rmdir		= logfs_rmdir,
 	.symlink	= logfs_symlink,
 	.unlink		= logfs_unlink,
diff --git a/fs/minix/namei.c b/fs/minix/namei.c
index 6dc210c0e3cefffa4485a2fc95bb20a7a56896a7..f7811d508104c120c7c85c515e7d757afa6bec46 100644
--- a/fs/minix/namei.c
+++ b/fs/minix/namei.c
@@ -268,7 +268,7 @@ const struct inode_operations minix_dir_inode_operations = {
 	.mkdir		= minix_mkdir,
 	.rmdir		= minix_rmdir,
 	.mknod		= minix_mknod,
-	.rename2	= minix_rename,
+	.rename		= minix_rename,
 	.getattr	= minix_getattr,
 	.tmpfile	= minix_tmpfile,
 };
diff --git a/fs/namei.c b/fs/namei.c
index 02803bd6cbad21ce56256935b58956ba503bd7dc..cf3fc8db909c60d35d9b6c46d87ad2850bb31b94 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -4369,7 +4369,7 @@ int vfs_rename(struct inode *old_dir, struct dentry *old_dentry,
 	if (error)
 		return error;
 
-	if (!old_dir->i_op->rename2)
+	if (!old_dir->i_op->rename)
 		return -EPERM;
 
 	/*
@@ -4425,7 +4425,7 @@ int vfs_rename(struct inode *old_dir, struct dentry *old_dentry,
 		if (error)
 			goto out;
 	}
-	error = old_dir->i_op->rename2(old_dir, old_dentry,
+	error = old_dir->i_op->rename(old_dir, old_dentry,
 				       new_dir, new_dentry, flags);
 	if (error)
 		goto out;
diff --git a/fs/ncpfs/dir.c b/fs/ncpfs/dir.c
index a2d3738df4af75a89f9d640bf7c8f3bdc51d8668..6df2a38275741d8dd9f2c799d2fbbd0cc889519f 100644
--- a/fs/ncpfs/dir.c
+++ b/fs/ncpfs/dir.c
@@ -65,7 +65,7 @@ const struct inode_operations ncp_dir_inode_operations =
 	.mkdir		= ncp_mkdir,
 	.rmdir		= ncp_rmdir,
 	.mknod		= ncp_mknod,
-	.rename2	= ncp_rename,
+	.rename		= ncp_rename,
 	.setattr	= ncp_notify_change,
 };
 
diff --git a/fs/nfs/nfs3proc.c b/fs/nfs/nfs3proc.c
index a85fdae4a51f28d1d9c623e397f0498d8b059916..698be93612808b2cefd071a4180bb804f5b594a7 100644
--- a/fs/nfs/nfs3proc.c
+++ b/fs/nfs/nfs3proc.c
@@ -893,7 +893,7 @@ static const struct inode_operations nfs3_dir_inode_operations = {
 	.mkdir		= nfs_mkdir,
 	.rmdir		= nfs_rmdir,
 	.mknod		= nfs_mknod,
-	.rename2	= nfs_rename,
+	.rename		= nfs_rename,
 	.permission	= nfs_permission,
 	.getattr	= nfs_getattr,
 	.setattr	= nfs_setattr,
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 14956da3cf388770858ac18715c23b7b96a83bf1..a9dec32ba9ba787f95693a8e7f266292376b0132 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -8937,7 +8937,7 @@ static const struct inode_operations nfs4_dir_inode_operations = {
 	.mkdir		= nfs_mkdir,
 	.rmdir		= nfs_rmdir,
 	.mknod		= nfs_mknod,
-	.rename2	= nfs_rename,
+	.rename		= nfs_rename,
 	.permission	= nfs_permission,
 	.getattr	= nfs_getattr,
 	.setattr	= nfs_setattr,
diff --git a/fs/nfs/proc.c b/fs/nfs/proc.c
index 380d0b78798331c0db7dddab15799fd18aaea3b9..b7bca83039895b5692163d2a119f29c126ea5d83 100644
--- a/fs/nfs/proc.c
+++ b/fs/nfs/proc.c
@@ -685,7 +685,7 @@ static const struct inode_operations nfs_dir_inode_operations = {
 	.mkdir		= nfs_mkdir,
 	.rmdir		= nfs_rmdir,
 	.mknod		= nfs_mknod,
-	.rename2	= nfs_rename,
+	.rename		= nfs_rename,
 	.permission	= nfs_permission,
 	.getattr	= nfs_getattr,
 	.setattr	= nfs_setattr,
diff --git a/fs/nilfs2/namei.c b/fs/nilfs2/namei.c
index 8540c13ef374d7d229dd4697d509c9923f1524e3..ea94049c3e7959685ef05e487ccb6fc12ede1afc 100644
--- a/fs/nilfs2/namei.c
+++ b/fs/nilfs2/namei.c
@@ -556,7 +556,7 @@ const struct inode_operations nilfs_dir_inode_operations = {
 	.mkdir		= nilfs_mkdir,
 	.rmdir		= nilfs_rmdir,
 	.mknod		= nilfs_mknod,
-	.rename2	= nilfs_rename,
+	.rename		= nilfs_rename,
 	.setattr	= nilfs_setattr,
 	.permission	= nilfs_permission,
 	.fiemap		= nilfs_fiemap,
diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c
index 1040c10a949353bc35930432e46430319f80e1a6..7fb6a7f023e7ed724810a10007d13824876d6c9f 100644
--- a/fs/ocfs2/namei.c
+++ b/fs/ocfs2/namei.c
@@ -2913,7 +2913,7 @@ const struct inode_operations ocfs2_dir_iops = {
 	.symlink	= ocfs2_symlink,
 	.mkdir		= ocfs2_mkdir,
 	.mknod		= ocfs2_mknod,
-	.rename2	= ocfs2_rename,
+	.rename		= ocfs2_rename,
 	.setattr	= ocfs2_setattr,
 	.getattr	= ocfs2_getattr,
 	.permission	= ocfs2_permission,
diff --git a/fs/omfs/dir.c b/fs/omfs/dir.c
index 417511bbe362ce82c4a53451d612102f1466f265..e81f06be5e7bd2262f767e6c22ab0e70e62bb4d2 100644
--- a/fs/omfs/dir.c
+++ b/fs/omfs/dir.c
@@ -448,7 +448,7 @@ static int omfs_readdir(struct file *file, struct dir_context *ctx)
 const struct inode_operations omfs_dir_inops = {
 	.lookup = omfs_lookup,
 	.mkdir = omfs_mkdir,
-	.rename2 = omfs_rename,
+	.rename = omfs_rename,
 	.create = omfs_create,
 	.unlink = omfs_remove,
 	.rmdir = omfs_remove,
diff --git a/fs/orangefs/namei.c b/fs/orangefs/namei.c
index 810d43635dfbefae1602103700a12f614c8f11bd..5f015c58bfa29efbe74f0c704c08d886b1d86096 100644
--- a/fs/orangefs/namei.c
+++ b/fs/orangefs/namei.c
@@ -463,7 +463,7 @@ const struct inode_operations orangefs_dir_inode_operations = {
 	.symlink = orangefs_symlink,
 	.mkdir = orangefs_mkdir,
 	.rmdir = orangefs_unlink,
-	.rename2 = orangefs_rename,
+	.rename = orangefs_rename,
 	.setattr = orangefs_setattr,
 	.getattr = orangefs_getattr,
 	.setxattr = generic_setxattr,
diff --git a/fs/overlayfs/dir.c b/fs/overlayfs/dir.c
index 1560fdc09a5fabf12ed678a3e87e78bb3e43cce2..480fc7868a2f75398c04427a8571964210c749d9 100644
--- a/fs/overlayfs/dir.c
+++ b/fs/overlayfs/dir.c
@@ -996,7 +996,7 @@ const struct inode_operations ovl_dir_inode_operations = {
 	.symlink	= ovl_symlink,
 	.unlink		= ovl_unlink,
 	.rmdir		= ovl_rmdir,
-	.rename2	= ovl_rename2,
+	.rename		= ovl_rename2,
 	.link		= ovl_link,
 	.setattr	= ovl_setattr,
 	.create		= ovl_create,
diff --git a/fs/overlayfs/overlayfs.h b/fs/overlayfs/overlayfs.h
index 5813ccff8cd9f47d4a92c9a1c422fa984e3d5976..e218e741cb9917f52d201d8ce6738f18b03c5b60 100644
--- a/fs/overlayfs/overlayfs.h
+++ b/fs/overlayfs/overlayfs.h
@@ -114,13 +114,13 @@ static inline int ovl_do_rename(struct inode *olddir, struct dentry *olddentry,
 {
 	int err;
 
-	pr_debug("rename2(%pd2, %pd2, 0x%x)\n",
+	pr_debug("rename(%pd2, %pd2, 0x%x)\n",
 		 olddentry, newdentry, flags);
 
 	err = vfs_rename(olddir, olddentry, newdir, newdentry, NULL, flags);
 
 	if (err) {
-		pr_debug("...rename2(%pd2, %pd2, ...) = %i\n",
+		pr_debug("...rename(%pd2, %pd2, ...) = %i\n",
 			 olddentry, newdentry, err);
 	}
 	return err;
diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c
index c2aa068ff9748640e5eec8ec5c77694981a7ed2b..1ab6e6c2e60e72f14c3749cf4a3bff657b5b3244 100644
--- a/fs/ramfs/inode.c
+++ b/fs/ramfs/inode.c
@@ -146,7 +146,7 @@ static const struct inode_operations ramfs_dir_inode_operations = {
 	.mkdir		= ramfs_mkdir,
 	.rmdir		= simple_rmdir,
 	.mknod		= ramfs_mknod,
-	.rename2	= simple_rename,
+	.rename		= simple_rename,
 };
 
 static const struct super_operations ramfs_ops = {
diff --git a/fs/reiserfs/namei.c b/fs/reiserfs/namei.c
index 21b4b7138985711689c8628d5fe7d2dfd3c37bd8..586260ed81c9e163b585e3a2f513f524c434be75 100644
--- a/fs/reiserfs/namei.c
+++ b/fs/reiserfs/namei.c
@@ -1652,7 +1652,7 @@ const struct inode_operations reiserfs_dir_inode_operations = {
 	.mkdir = reiserfs_mkdir,
 	.rmdir = reiserfs_rmdir,
 	.mknod = reiserfs_mknod,
-	.rename2 = reiserfs_rename,
+	.rename = reiserfs_rename,
 	.setattr = reiserfs_setattr,
 	.setxattr = generic_setxattr,
 	.getxattr = generic_getxattr,
diff --git a/fs/sysv/namei.c b/fs/sysv/namei.c
index 765d79de1217f6e5dcad1148c1289e0934a4f4eb..30bf6780985a06b3ce0ce03675f5502e82a475ec 100644
--- a/fs/sysv/namei.c
+++ b/fs/sysv/namei.c
@@ -289,6 +289,6 @@ const struct inode_operations sysv_dir_inode_operations = {
 	.mkdir		= sysv_mkdir,
 	.rmdir		= sysv_rmdir,
 	.mknod		= sysv_mknod,
-	.rename2	= sysv_rename,
+	.rename		= sysv_rename,
 	.getattr	= sysv_getattr,
 };
diff --git a/fs/ubifs/dir.c b/fs/ubifs/dir.c
index 23d1ebabc6889c6e524dd48a11f11e6e5b9caccd..e10e9a00cfc3021d470099d41285479a579f6adc 100644
--- a/fs/ubifs/dir.c
+++ b/fs/ubifs/dir.c
@@ -1183,7 +1183,7 @@ const struct inode_operations ubifs_dir_inode_operations = {
 	.mkdir       = ubifs_mkdir,
 	.rmdir       = ubifs_rmdir,
 	.mknod       = ubifs_mknod,
-	.rename2     = ubifs_rename,
+	.rename     = ubifs_rename,
 	.setattr     = ubifs_setattr,
 	.getattr     = ubifs_getattr,
 	.setxattr    = generic_setxattr,
diff --git a/fs/udf/namei.c b/fs/udf/namei.c
index ca2ec00618020ffc5b56895dd4645d3822c9d26b..17e9d4af301097a7a69dabdd1ad0f9249c25c1b2 100644
--- a/fs/udf/namei.c
+++ b/fs/udf/namei.c
@@ -1357,6 +1357,6 @@ const struct inode_operations udf_dir_inode_operations = {
 	.mkdir				= udf_mkdir,
 	.rmdir				= udf_rmdir,
 	.mknod				= udf_mknod,
-	.rename2			= udf_rename,
+	.rename				= udf_rename,
 	.tmpfile			= udf_tmpfile,
 };
diff --git a/fs/ufs/namei.c b/fs/ufs/namei.c
index 719c9c9b83d85f09af4170ac00cd33ed814fde36..f2f11c382b6d40514320edb38e756c47a44c0b63 100644
--- a/fs/ufs/namei.c
+++ b/fs/ufs/namei.c
@@ -337,5 +337,5 @@ const struct inode_operations ufs_dir_inode_operations = {
 	.mkdir		= ufs_mkdir,
 	.rmdir		= ufs_rmdir,
 	.mknod		= ufs_mknod,
-	.rename2	= ufs_rename,
+	.rename		= ufs_rename,
 };
diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c
index b24c3102fa93f94fd98b3fd91d0d23e4c624b646..a66c781e5468176ff12808602c9c937b472137a1 100644
--- a/fs/xfs/xfs_iops.c
+++ b/fs/xfs/xfs_iops.c
@@ -1059,7 +1059,7 @@ static const struct inode_operations xfs_dir_inode_operations = {
 	 */
 	.rmdir			= xfs_vn_unlink,
 	.mknod			= xfs_vn_mknod,
-	.rename2		= xfs_vn_rename,
+	.rename			= xfs_vn_rename,
 	.get_acl		= xfs_get_acl,
 	.set_acl		= xfs_set_acl,
 	.getattr		= xfs_vn_getattr,
@@ -1087,7 +1087,7 @@ static const struct inode_operations xfs_dir_ci_inode_operations = {
 	 */
 	.rmdir			= xfs_vn_unlink,
 	.mknod			= xfs_vn_mknod,
-	.rename2		= xfs_vn_rename,
+	.rename			= xfs_vn_rename,
 	.get_acl		= xfs_get_acl,
 	.set_acl		= xfs_set_acl,
 	.getattr		= xfs_vn_getattr,
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 6b14ceba4f209fe13641098e8b8116023b2744f1..cf7e621f7413aa4a38bcbed8f57b6d7a24a97cf0 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1732,7 +1732,7 @@ struct inode_operations {
 	int (*mkdir) (struct inode *,struct dentry *,umode_t);
 	int (*rmdir) (struct inode *,struct dentry *);
 	int (*mknod) (struct inode *,struct dentry *,umode_t,dev_t);
-	int (*rename2) (struct inode *, struct dentry *,
+	int (*rename) (struct inode *, struct dentry *,
 			struct inode *, struct dentry *, unsigned int);
 	int (*setattr) (struct dentry *, struct iattr *);
 	int (*getattr) (struct vfsmount *mnt, struct dentry *, struct kstat *);
diff --git a/kernel/bpf/inode.c b/kernel/bpf/inode.c
index c92fd8936d3392be2801412228a7dc8d6d5a93aa..5967b870a895b2fb4c3882abe10132bc903d7fd4 100644
--- a/kernel/bpf/inode.c
+++ b/kernel/bpf/inode.c
@@ -189,7 +189,7 @@ static const struct inode_operations bpf_dir_iops = {
 	.mknod		= bpf_mkobj,
 	.mkdir		= bpf_mkdir,
 	.rmdir		= simple_rmdir,
-	.rename2	= simple_rename,
+	.rename		= simple_rename,
 	.link		= simple_link,
 	.unlink		= simple_unlink,
 };
diff --git a/mm/shmem.c b/mm/shmem.c
index 971fc83e6402858dd558d0f04609ddad38373eb4..efbef23366051ae90f9a056871b08f24a2cfa020 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -3814,7 +3814,7 @@ static const struct inode_operations shmem_dir_inode_operations = {
 	.mkdir		= shmem_mkdir,
 	.rmdir		= shmem_rmdir,
 	.mknod		= shmem_mknod,
-	.rename2	= shmem_rename2,
+	.rename		= shmem_rename2,
 	.tmpfile	= shmem_tmpfile,
 #endif
 #ifdef CONFIG_TMPFS_XATTR
diff --git a/security/tomoyo/realpath.c b/security/tomoyo/realpath.c
index 38bcdbc06bb286c988d408595d31d3f76257dbb3..a97b275ca3afe476a4ca0d865ef332d3f45aa688 100644
--- a/security/tomoyo/realpath.c
+++ b/security/tomoyo/realpath.c
@@ -173,7 +173,7 @@ static char *tomoyo_get_local_path(struct dentry *dentry, char * const buffer,
 		 * Use filesystem name if filesystem does not support rename()
 		 * operation.
 		 */
-		if (!inode->i_op->rename2)
+		if (!inode->i_op->rename)
 			goto prepend_filesystem_name;
 	}
 	/* Prepend device name. */
@@ -283,7 +283,7 @@ char *tomoyo_realpath_from_path(const struct path *path)
 		 * or dentry without vfsmount.
 		 */
 		if (!path->mnt ||
-		    (!inode->i_op->rename2))
+		    (!inode->i_op->rename))
 			pos = tomoyo_get_local_path(path->dentry, buf,
 						    buf_len - 1);
 		/* Get absolute name for the rest. */