From 95a28ca5f89dc87be004311e57e7f896dbca8ac6 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Fri, 18 Mar 2011 14:57:05 -0700 Subject: [PATCH] SMB2 renames return SHARING_VIOLATION if there is any existing oplock on a file. (cherry picked from commit f555a0ea2b14ecb7d1037852b594e7e25ef2c4b5) --- source3/smbd/smb2_setinfo.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source3/smbd/smb2_setinfo.c b/source3/smbd/smb2_setinfo.c index 9afb487dce3..26d94e2b10e 100644 --- a/source3/smbd/smb2_setinfo.c +++ b/source3/smbd/smb2_setinfo.c @@ -216,6 +216,12 @@ static struct tevent_req *smbd_smb2_setinfo_send(TALLOC_CTX *mem_ctx, if (file_info_level == SMB_FILE_RENAME_INFORMATION) { /* SMB2_FILE_RENAME_INFORMATION_INTERNAL == 0xFF00 + in_file_info_class */ file_info_level = SMB2_FILE_RENAME_INFORMATION_INTERNAL; + if (fsp->oplock_type != FAKE_LEVEL_II_OPLOCK && + fsp->oplock_type != NO_OPLOCK) { + /* No break, but error. */ + tevent_req_nterror(req, NT_STATUS_SHARING_VIOLATION); + return tevent_req_post(req, ev); + } } if (fsp->fh->fd == -1) { -- 2.11.4.GIT