]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/namei.c
vfs: rename: move d_move() up
[karo-tx-linux.git] / fs / namei.c
index e987ea7c305f8f1ff611b061b8a77881fa9c6840..2e86d2c4ec8a565ade55b8daabc63a8cce0f3efd 100644 (file)
@@ -4045,13 +4045,12 @@ static int vfs_rename_dir(struct inode *old_dir, struct dentry *old_dentry,
                target->i_flags |= S_DEAD;
                dont_mount(new_dentry);
        }
+       if (!(old_dir->i_sb->s_type->fs_flags & FS_RENAME_DOES_D_MOVE))
+               d_move(old_dentry, new_dentry);
 out:
        if (target)
                mutex_unlock(&target->i_mutex);
        dput(new_dentry);
-       if (!error)
-               if (!(old_dir->i_sb->s_type->fs_flags & FS_RENAME_DOES_D_MOVE))
-                       d_move(old_dentry,new_dentry);
        return error;
 }