From 02f7e77965d87646b946d3a9c61ef287e7328e28 Mon Sep 17 00:00:00 2001 From: Pavel Shilovsky Date: Mon, 31 Jan 2011 15:25:14 -0800 Subject: [PATCH 2/2] Ensure we send the direct levelII oplock break to the correct fid. --- source3/smbd/oplock.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-) diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c index 55d0e19..82cb3c0 100644 --- a/source3/smbd/oplock.c +++ b/source3/smbd/oplock.c @@ -823,8 +823,16 @@ static void contend_level2_oplocks_begin_default(files_struct *fsp, */ if (procid_is_me(&share_entry->pid)) { + struct files_struct *cur_fsp = + initial_break_processing(share_entry->id, + share_entry->share_file_id); wait_before_sending_break(); - break_level2_to_none_async(fsp); + if (cur_fsp != NULL) { + break_level2_to_none_async(cur_fsp); + } else { + DEBUG(3, ("release_level_2_oplocks_on_change: " + "Did not find fsp, ignoring\n")); + } } else { messaging_send_buf(smbd_messaging_context(), share_entry->pid, -- 1.7.3.1