The branch, v3-5-test has been updated via b20ca77 s3: delete requests are not special from 30567b8 s3: Fix bug #9085.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test - Log ----------------------------------------------------------------- commit b20ca77e2a9d111eb2e77d0b804fe7505b07e418 Author: Volker Lendecke <v...@samba.org> Date: Mon Sep 10 11:25:03 2012 +0200 s3: delete requests are not special The only difference between batch and exclusive oplocks is the time of the check: Batch is checked before the share mode check, exclusive after. Signed-off-by: Jeremy Allison <j...@samba.org> Fix bug #9150 - Valid open requests can cause smbd assert due to incorrect oplock handling on delete requests. ----------------------------------------------------------------------- Summary of changes: source3/smbd/open.c | 13 ++----------- 1 files changed, 2 insertions(+), 11 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/smbd/open.c b/source3/smbd/open.c index dfa45ef..843bb2b 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -894,11 +894,6 @@ static NTSTATUS open_mode_check(connection_struct *conn, return NT_STATUS_OK; } -static bool is_delete_request(files_struct *fsp) { - return ((fsp->access_mask == DELETE_ACCESS) && - (fsp->oplock_type == NO_OPLOCK)); -} - /* * Send a break message to the oplock holder and delay the open for * our client. @@ -1002,13 +997,9 @@ static bool delay_for_oplocks(struct share_mode_lock *lck, } if (exclusive != NULL) { /* Found an exclusive oplock */ - bool delay_it = is_delete_request(fsp) ? - BATCH_OPLOCK_TYPE(exclusive->op_type) : true; SMB_ASSERT(!have_level2); - if (delay_it) { - send_break_message(fsp, exclusive, mid, oplock_request); - return true; - } + send_break_message(fsp, exclusive, mid, oplock_request); + return true; } /* -- Samba Shared Repository