TALLOC_FREE(fsp->oplock_timeout);
DEBUG(0, ("Oplock break failed for file %s -- replying anyway\n",
fsp_str_dbg(fsp)));
- global_client_failed_oplock_break = True;
+ /* Only set this for SMB1.. */
+ if (!smbd_server_conn->allow_smb2) {
+ global_client_failed_oplock_break = True;
+ }
remove_oplock(fsp);
reply_to_oplock_break_requests(fsp);
}
fsp_str_dbg(fsp),
fsp->fnum ));
+ /* Are we awaiting a break message ? */
+ if (fsp->oplock_timeout == NULL) {
+ tevent_req_nterror(req, NT_STATUS_INVALID_OPLOCK_PROTOCOL);
+ return tevent_req_post(req, ev);
+ }
+
if ((fsp->sent_oplock_break == BREAK_TO_NONE_SENT) ||
(break_to_none)) {
result = remove_oplock(fsp);