Commit 7cb3a5c5 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag '5.8-rc6-cifs-fix' of git://git.samba.org/sfrench/cifs-2.6 into master

Pull cifs fix from Steve French:
 "A fix for a recently discovered regression in rename to older servers
  caused by a recent patch"

* tag '5.8-rc6-cifs-fix' of git://git.samba.org/sfrench/cifs-2.6:
  Revert "cifs: Fix the target file was deleted when rename failed."
parents 1b64b2e2 0e670518
Loading
Loading
Loading
Loading
+2 −8
Original line number Diff line number Diff line
@@ -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