diff options
| -rw-r--r-- | fs/cifs/inode.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index 09082ac8518..f36b4e40e44 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c | |||
| @@ -1453,7 +1453,8 @@ int cifs_rename(struct inode *source_dir, struct dentry *source_dentry, | |||
| 1453 | checking the UniqueId via FILE_INTERNAL_INFO */ | 1453 | checking the UniqueId via FILE_INTERNAL_INFO */ |
| 1454 | 1454 | ||
| 1455 | unlink_target: | 1455 | unlink_target: |
| 1456 | if ((rc == -EACCES) || (rc == -EEXIST)) { | 1456 | /* Try unlinking the target dentry if it's not negative */ |
| 1457 | if (target_dentry->d_inode && (rc == -EACCES || rc == -EEXIST)) { | ||
| 1457 | tmprc = cifs_unlink(target_dir, target_dentry); | 1458 | tmprc = cifs_unlink(target_dir, target_dentry); |
| 1458 | if (tmprc) | 1459 | if (tmprc) |
| 1459 | goto cifs_rename_exit; | 1460 | goto cifs_rename_exit; |
