summaryrefslogtreecommitdiff
path: root/source3/smbd/blocking.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2010-04-08 22:15:55 -0700
committerJeremy Allison <jra@samba.org>2010-04-08 22:15:55 -0700
commit08b24e923dff99d3d3c0618903a7ed2959640470 (patch)
treeacfc07cc9c3aec2d1d78287b4fc58dbe143de627 /source3/smbd/blocking.c
parent3491f6d119d1f4c7e0a259a9993ce96783b77e23 (diff)
downloadsamba-08b24e923dff99d3d3c0618903a7ed2959640470.tar.gz
samba-08b24e923dff99d3d3c0618903a7ed2959640470.tar.bz2
samba-08b24e923dff99d3d3c0618903a7ed2959640470.zip
Stop smb2 from calling into smb1 blocking lock request code.
Allocate a uint16_t internal SMB1 mid for an SMB2 request. Add a back pointer from the faked up smb_request struct to the smb2 request. Getting ready to add restart code for blocking locks, share mode violations and oplocks in SMB2. Jeremy.
Diffstat (limited to 'source3/smbd/blocking.c')
-rw-r--r--source3/smbd/blocking.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/source3/smbd/blocking.c b/source3/smbd/blocking.c
index cb48cc8c1c..2a0024c493 100644
--- a/source3/smbd/blocking.c
+++ b/source3/smbd/blocking.c
@@ -158,6 +158,20 @@ bool push_blocking_lock_request( struct byte_range_lock *br_lck,
struct blocking_lock_record *blr;
NTSTATUS status;
+ if (req->smb2req) {
+ return smb2_push_blocking_lock_request(br_lck,
+ req,
+ fsp,
+ lock_timeout,
+ lock_num,
+ lock_pid,
+ lock_type,
+ lock_flav,
+ offset,
+ count,
+ blocking_pid);
+ }
+
if(req_is_in_chain(req)) {
DEBUG(0,("push_blocking_lock_request: cannot queue a chained request (currently).\n"));
return False;