]>
Commit | Line | Data |
---|---|---|
2ef6de7d GKH |
1 | From c1832f67035dc04fb89e6b591b64e4d515843cda Mon Sep 17 00:00:00 2001 |
2 | From: Namjae Jeon <linkinjeon@kernel.org> | |
3 | Date: Sun, 31 Mar 2024 21:58:26 +0900 | |
4 | Subject: ksmbd: don't send oplock break if rename fails | |
5 | ||
6 | From: Namjae Jeon <linkinjeon@kernel.org> | |
7 | ||
8 | commit c1832f67035dc04fb89e6b591b64e4d515843cda upstream. | |
9 | ||
10 | Don't send oplock break if rename fails. This patch fix | |
11 | smb2.oplock.batch20 test. | |
12 | ||
13 | Cc: stable@vger.kernel.org | |
14 | Signed-off-by: Namjae Jeon <linkinjeon@kernel.org> | |
15 | Signed-off-by: Steve French <stfrench@microsoft.com> | |
16 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
17 | --- | |
18 | fs/smb/server/smb2pdu.c | 3 ++- | |
19 | 1 file changed, 2 insertions(+), 1 deletion(-) | |
20 | ||
21 | --- a/fs/smb/server/smb2pdu.c | |
22 | +++ b/fs/smb/server/smb2pdu.c | |
23 | @@ -5631,8 +5631,9 @@ static int smb2_rename(struct ksmbd_work | |
24 | if (!file_info->ReplaceIfExists) | |
25 | flags = RENAME_NOREPLACE; | |
26 | ||
27 | - smb_break_all_levII_oplock(work, fp, 0); | |
28 | rc = ksmbd_vfs_rename(work, &fp->filp->f_path, new_name, flags); | |
29 | + if (!rc) | |
30 | + smb_break_all_levII_oplock(work, fp, 0); | |
31 | out: | |
32 | kfree(new_name); | |
33 | return rc; |