s3: delete requests are not special
authorVolker Lendecke <vl@samba.org>
Mon, 10 Sep 2012 09:25:03 +0000 (11:25 +0200)
committerJeremy Allison <jra@samba.org>
Mon, 10 Sep 2012 21:58:51 +0000 (14:58 -0700)
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 <jra@samba.org>
source3/smbd/open.c

index 5fa45aa15d69effece92a0ff43d1fe94092fc2a6..0da238679eb83be32a33b20c1b20bb8eb7751332 100644 (file)
@@ -1155,11 +1155,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.
@@ -1330,8 +1325,6 @@ static bool delay_for_exclusive_oplocks(files_struct *fsp,
                                        int oplock_request,
                                        struct share_mode_entry *ex_entry)
 {
-       bool delay_it;
-
        if ((oplock_request & INTERNAL_OPEN_ONLY) || is_stat_open(fsp->access_mask)) {
                return false;
        }
@@ -1348,15 +1341,6 @@ static bool delay_for_exclusive_oplocks(files_struct *fsp,
                return false;
        }
 
-       /* Found an exclusive or batch oplock */
-
-       delay_it = is_delete_request(fsp) ?
-               BATCH_OPLOCK_TYPE(ex_entry->op_type) : true;
-
-       if (!delay_it) {
-               return false;
-       }
-
        send_break_message(fsp, ex_entry, mid, oplock_request);
        return true;
 }