diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-07 02:18:07 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-07 02:18:07 +0000 |
commit | 6c080a1a353c6fc2590555ec7dd8982d1143d02d (patch) | |
tree | 5fb60c5cd3d6bb6496650d1605a3c51d09be2bf1 /fs/smb/server/vfs.c | |
parent | Adding debian version 6.1.85-1. (diff) | |
download | linux-6c080a1a353c6fc2590555ec7dd8982d1143d02d.tar.xz linux-6c080a1a353c6fc2590555ec7dd8982d1143d02d.zip |
Merging upstream version 6.1.90.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'fs/smb/server/vfs.c')
-rw-r--r-- | fs/smb/server/vfs.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/smb/server/vfs.c b/fs/smb/server/vfs.c index fe2c80ea2..a4c99ec38 100644 --- a/fs/smb/server/vfs.c +++ b/fs/smb/server/vfs.c @@ -746,10 +746,15 @@ retry: goto out4; } + /* + * explicitly handle file overwrite case, for compatibility with + * filesystems that may not support rename flags (e.g: fuse) + */ if ((flags & RENAME_NOREPLACE) && d_is_positive(new_dentry)) { err = -EEXIST; goto out4; } + flags &= ~(RENAME_NOREPLACE); if (old_child == trap) { err = -EINVAL; |