diff options
author | Jeremy Allison <jra@samba.org> | 2010-04-08 22:15:55 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2010-04-08 22:15:55 -0700 |
commit | 08b24e923dff99d3d3c0618903a7ed2959640470 (patch) | |
tree | acfc07cc9c3aec2d1d78287b4fc58dbe143de627 /source3/smbd/globals.h | |
parent | 3491f6d119d1f4c7e0a259a9993ce96783b77e23 (diff) | |
download | samba-08b24e923dff99d3d3c0618903a7ed2959640470.tar.gz samba-08b24e923dff99d3d3c0618903a7ed2959640470.tar.xz 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/globals.h')
-rw-r--r-- | source3/smbd/globals.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/source3/smbd/globals.h b/source3/smbd/globals.h index 033a77783a7..5eea0ce311a 100644 --- a/source3/smbd/globals.h +++ b/source3/smbd/globals.h @@ -321,6 +321,17 @@ NTSTATUS smbd_smb2_request_process_break(struct smbd_smb2_request *req); void send_smb2_break_message(files_struct *fsp, uint8_t level); void schedule_deferred_open_smb2_message(uint16 mid); +bool smb2_push_blocking_lock_request( struct byte_range_lock *br_lck, + struct smb_request *req, + files_struct *fsp, + int lock_timeout, + int lock_num, + uint32_t lock_pid, + enum brl_type lock_type, + enum brl_flavour lock_flav, + uint64_t offset, + uint64_t count, + uint32_t blocking_pid); struct smbd_smb2_request { struct smbd_smb2_request *prev, *next; @@ -338,6 +349,11 @@ struct smbd_smb2_request { int current_idx; bool do_signing; + /* + * mid used for compatibility with SMB1 code. + * Server allocated, never seen by client. + */ + uint16_t compat_mid; struct files_struct *compat_chain_fsp; @@ -535,6 +551,7 @@ struct smbd_server_connection { struct smbd_smb2_session *list; } sessions; struct smbd_smb2_request *requests; + uint16_t next_compat_mid; } smb2; }; |