summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/smbd/close.c1
-rw-r--r--source3/smbd/oplock.c21
-rw-r--r--source3/smbd/proto.h1
-rw-r--r--source3/smbd/reply.c2
-rw-r--r--source3/smbd/smb2_break.c2
5 files changed, 0 insertions, 27 deletions
diff --git a/source3/smbd/close.c b/source3/smbd/close.c
index 46aa356390..3389649226 100644
--- a/source3/smbd/close.c
+++ b/source3/smbd/close.c
@@ -442,7 +442,6 @@ static NTSTATUS close_remove_share_mode(files_struct *fsp,
/* Notify any deferred opens waiting on this close. */
notify_deferred_opens(conn->sconn, lck);
- reply_to_oplock_break_requests(fsp);
/*
* NT can set delete_on_close of the last open
diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c
index ed4605022b..2a0d2278f8 100644
--- a/source3/smbd/oplock.c
+++ b/source3/smbd/oplock.c
@@ -332,7 +332,6 @@ static void oplock_timeout_handler(struct tevent_context *ctx,
DEBUG(0, ("Oplock break failed for file %s -- replying anyway\n",
fsp_str_dbg(fsp)));
remove_oplock(fsp);
- reply_to_oplock_break_requests(fsp);
}
/*******************************************************************
@@ -637,26 +636,6 @@ static void process_kernel_oplock_break(struct messaging_context *msg_ctx,
add_oplock_timeout_handler(fsp);
}
-void reply_to_oplock_break_requests(files_struct *fsp)
-{
- struct smbd_server_connection *sconn = fsp->conn->sconn;
- struct kernel_oplocks *koplocks = sconn->oplocks.kernel_ops;
-
- /*
- * If kernel oplocks already notifies smbds when oplocks are
- * broken/removed, just return.
- */
- if (koplocks &&
- (koplocks->flags & KOPLOCKS_OPLOCK_BROKEN_NOTIFICATION)) {
- return;
- }
-
- SAFE_FREE(fsp->pending_break_messages);
- fsp->num_pending_break_messages = 0;
- TALLOC_FREE(fsp->oplock_timeout);
- return;
-}
-
static void process_open_retry_message(struct messaging_context *msg_ctx,
void *private_data,
uint32_t msg_type,
diff --git a/source3/smbd/proto.h b/source3/smbd/proto.h
index 6d5bdba1e4..46c914810b 100644
--- a/source3/smbd/proto.h
+++ b/source3/smbd/proto.h
@@ -667,7 +667,6 @@ bool remove_oplock(files_struct *fsp);
bool downgrade_oplock(files_struct *fsp);
bool should_notify_deferred_opens(struct smbd_server_connection *sconn);
void break_level2_to_none_async(files_struct *fsp);
-void reply_to_oplock_break_requests(files_struct *fsp);
void contend_level2_oplocks_begin(files_struct *fsp,
enum level2_contention_type type);
void contend_level2_oplocks_end(files_struct *fsp,
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 8790bd5b91..07b144e68b 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -8029,8 +8029,6 @@ void reply_lockingX(struct smb_request *req)
smb_panic("internal tdb error");
}
- reply_to_oplock_break_requests(fsp);
-
/* if this is a pure oplock break request then don't send a
* reply */
if (num_locks == 0 && num_ulocks == 0) {
diff --git a/source3/smbd/smb2_break.c b/source3/smbd/smb2_break.c
index 8db9e6ddec..945faa155e 100644
--- a/source3/smbd/smb2_break.c
+++ b/source3/smbd/smb2_break.c
@@ -199,8 +199,6 @@ static struct tevent_req *smbd_smb2_oplock_break_send(TALLOC_CTX *mem_ctx,
smb_panic("internal tdb error");
}
- reply_to_oplock_break_requests(fsp);
-
tevent_req_done(req);
return tevent_req_post(req, ev);
}