Revert "cifs: Fix the target file was deleted when rename failed."
Closes: #966917
This commit is contained in:
parent
018be4e79c
commit
868ca68cdf
|
@ -1,3 +1,10 @@
|
|||
linux (4.19.132-2) UNRELEASED; urgency=medium
|
||||
|
||||
* Revert "cifs: Fix the target file was deleted when rename failed."
|
||||
(Closes: #966917)
|
||||
|
||||
-- Salvatore Bonaccorso <carnil@debian.org> Tue, 04 Aug 2020 16:33:40 +0200
|
||||
|
||||
linux (4.19.132-1) buster; urgency=medium
|
||||
|
||||
* New upstream stable update:
|
||||
|
|
58
debian/patches/bugfix/all/Revert-cifs-Fix-the-target-file-was-deleted-when-ren.patch
vendored
Normal file
58
debian/patches/bugfix/all/Revert-cifs-Fix-the-target-file-was-deleted-when-ren.patch
vendored
Normal file
|
@ -0,0 +1,58 @@
|
|||
From: Steve French <stfrench@microsoft.com>
|
||||
Date: Thu, 23 Jul 2020 14:41:29 -0500
|
||||
Subject: Revert "cifs: Fix the target file was deleted when rename failed."
|
||||
Origin: https://git.kernel.org/linus/0e6705182d4e1b77248a93470d6d7b3013d59b30
|
||||
Bug-Debian: https://bugs.debian.org/966917
|
||||
|
||||
This reverts commit 9ffad9263b467efd8f8dc7ae1941a0a655a2bab2.
|
||||
|
||||
Upon additional testing with older servers, it was found that
|
||||
the original commit introduced a regression when using the old SMB1
|
||||
dialect and rsyncing over an existing file.
|
||||
|
||||
The patch will need to be respun to address this, likely including
|
||||
a larger refactoring of the SMB1 and SMB3 rename code paths to make
|
||||
it less confusing and also to address some additional rename error
|
||||
cases that SMB3 may be able to workaround.
|
||||
|
||||
Signed-off-by: Steve French <stfrench@microsoft.com>
|
||||
Reported-by: Patrick Fernie <patrick.fernie@gmail.com>
|
||||
CC: Stable <stable@vger.kernel.org>
|
||||
Acked-by: Ronnie Sahlberg <lsahlber@redhat.com>
|
||||
Acked-by: Pavel Shilovsky <pshilov@microsoft.com>
|
||||
Acked-by: Zhang Xiaoxu <zhangxiaoxu5@huawei.com>
|
||||
---
|
||||
fs/cifs/inode.c | 10 ++--------
|
||||
1 file changed, 2 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
|
||||
index 49c3ea8aa845..ce95801e9b66 100644
|
||||
--- a/fs/cifs/inode.c
|
||||
+++ b/fs/cifs/inode.c
|
||||
@@ -2044,7 +2044,6 @@ cifs_rename2(struct inode *source_dir, struct dentry *source_dentry,
|
||||
FILE_UNIX_BASIC_INFO *info_buf_target;
|
||||
unsigned int xid;
|
||||
int rc, tmprc;
|
||||
- bool new_target = d_really_is_negative(target_dentry);
|
||||
|
||||
if (flags & ~RENAME_NOREPLACE)
|
||||
return -EINVAL;
|
||||
@@ -2121,13 +2120,8 @@ cifs_rename2(struct inode *source_dir, struct dentry *source_dentry,
|
||||
*/
|
||||
|
||||
unlink_target:
|
||||
- /*
|
||||
- * If the target dentry was created during the rename, try
|
||||
- * unlinking it if it's not negative
|
||||
- */
|
||||
- if (new_target &&
|
||||
- d_really_is_positive(target_dentry) &&
|
||||
- (rc == -EACCES || rc == -EEXIST)) {
|
||||
+ /* Try unlinking the target dentry if it's not negative */
|
||||
+ if (d_really_is_positive(target_dentry) && (rc == -EACCES || rc == -EEXIST)) {
|
||||
if (d_is_dir(target_dentry))
|
||||
tmprc = cifs_rmdir(target_dir, target_dentry);
|
||||
else
|
||||
--
|
||||
2.28.0
|
||||
|
|
@ -102,6 +102,7 @@ debian/revert-objtool-fix-config_stack_validation-y-warning.patch
|
|||
bugfix/all/mt76-use-the-correct-hweight8-function.patch
|
||||
bugfix/all/rtc-s35390a-set-uie_unsupported.patch
|
||||
bugfix/all/Revert-ath9k-Fix-general-protection-fault-in-ath9k_h.patch
|
||||
bugfix/all/Revert-cifs-Fix-the-target-file-was-deleted-when-ren.patch
|
||||
|
||||
# Miscellaneous features
|
||||
features/all/e1000e-Add-support-for-Comet-Lake.patch
|
||||
|
|
Loading…
Reference in New Issue