diff options
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/cifs/inode.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index 949ec909ec9a..7899a40465b3 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c | |||
| @@ -1720,7 +1720,10 @@ cifs_rename2(struct inode *source_dir, struct dentry *source_dentry, | |||
| 1720 | unlink_target: | 1720 | unlink_target: |
| 1721 | /* Try unlinking the target dentry if it's not negative */ | 1721 | /* Try unlinking the target dentry if it's not negative */ |
| 1722 | if (target_dentry->d_inode && (rc == -EACCES || rc == -EEXIST)) { | 1722 | if (target_dentry->d_inode && (rc == -EACCES || rc == -EEXIST)) { |
| 1723 | tmprc = cifs_unlink(target_dir, target_dentry); | 1723 | if (d_is_dir(target_dentry)) |
| 1724 | tmprc = cifs_rmdir(target_dir, target_dentry); | ||
| 1725 | else | ||
| 1726 | tmprc = cifs_unlink(target_dir, target_dentry); | ||
| 1724 | if (tmprc) | 1727 | if (tmprc) |
| 1725 | goto cifs_rename_exit; | 1728 | goto cifs_rename_exit; |
| 1726 | rc = cifs_do_rename(xid, source_dentry, from_name, | 1729 | rc = cifs_do_rename(xid, source_dentry, from_name, |
