diff options
author | Pavel Shilovsky <piastry@etersoft.ru> | 2011-01-31 14:52:11 -0800 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2011-02-01 00:39:56 +0100 |
commit | 6696fd1c1e94a6b830fe8d1191b85da97bfb10c1 (patch) | |
tree | 43840fb06397cc3980d1039ea79e2e64b39c7bbf | |
parent | e18b8c0730ba800ab2864c65c6cd46aff4848585 (diff) | |
download | samba-6696fd1c1e94a6b830fe8d1191b85da97bfb10c1.tar.gz samba-6696fd1c1e94a6b830fe8d1191b85da97bfb10c1.tar.bz2 samba-6696fd1c1e94a6b830fe8d1191b85da97bfb10c1.zip |
Ensure we send the direct levelII oplock break to the correct fid.
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Tue Feb 1 00:39:56 CET 2011 on sn-devel-104
-rw-r--r-- | source3/smbd/oplock.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c index 31cedc415e..c3c41d1c33 100644 --- a/source3/smbd/oplock.c +++ b/source3/smbd/oplock.c @@ -839,8 +839,17 @@ 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(fsp->conn->sconn, + 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(fsp->conn->sconn->msg_ctx, share_entry->pid, |