]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/namei.c
vfs: remove unused i_op->rename
[karo-tx-linux.git] / fs / namei.c
index adb04146df09281ff5825382c0f73564024061b9..02803bd6cbad21ce56256935b58956ba503bd7dc 100644 (file)
@@ -4369,12 +4369,9 @@ int vfs_rename(struct inode *old_dir, struct dentry *old_dentry,
        if (error)
                return error;
 
-       if (!old_dir->i_op->rename && !old_dir->i_op->rename2)
+       if (!old_dir->i_op->rename2)
                return -EPERM;
 
-       if (flags && !old_dir->i_op->rename2)
-               return -EINVAL;
-
        /*
         * If we are going to change the parent - check write permissions,
         * we'll need to flip '..'.
@@ -4428,14 +4425,8 @@ int vfs_rename(struct inode *old_dir, struct dentry *old_dentry,
                if (error)
                        goto out;
        }
-       if (!old_dir->i_op->rename2) {
-               error = old_dir->i_op->rename(old_dir, old_dentry,
-                                             new_dir, new_dentry);
-       } else {
-               WARN_ON(old_dir->i_op->rename != NULL);
-               error = old_dir->i_op->rename2(old_dir, old_dentry,
-                                              new_dir, new_dentry, flags);
-       }
+       error = old_dir->i_op->rename2(old_dir, old_dentry,
+                                      new_dir, new_dentry, flags);
        if (error)
                goto out;