diff options
author | Jeremy Allison <jra@samba.org> | 2010-04-22 23:52:19 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2010-04-22 23:52:19 -0700 |
commit | 8f67f873ace91964da066c421986e260aceba75b (patch) | |
tree | 21776965085b9926a28ff5ed41ef147176668386 /source3/smbd/process.c | |
parent | 9cd712d1bc1ac5140597e86b5c634d2c820d86de (diff) | |
download | samba-8f67f873ace91964da066c421986e260aceba75b.tar.gz samba-8f67f873ace91964da066c421986e260aceba75b.tar.bz2 samba-8f67f873ace91964da066c421986e260aceba75b.zip |
Make deferred opens (NT_STATUS_SHARING_VIOLATION) work over SMB2.
Makes SMB2Create call re-entrant internally.
Now this infrastructure is in place, oplocks will follow shortly.
Tested with Win7 client and with W2K8R2.
Jeremy.
Diffstat (limited to 'source3/smbd/process.c')
-rw-r--r-- | source3/smbd/process.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c index 8d3c65a802..a4838987a3 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -726,19 +726,19 @@ static struct pending_message_list *get_deferred_open_message_smb(uint64_t mid) Get the state data queued by this mid. ****************************************************************************/ -bool get_deferred_open_message_state(uint64_t mid, +bool get_deferred_open_message_state(struct smb_request *smbreq, struct timeval *p_request_time, void **pp_state) { struct pending_message_list *pml; if (smbd_server_conn->allow_smb2) { - return get_deferred_open_message_state_smb2(mid, + return get_deferred_open_message_state_smb2(smbreq->smb2req, p_request_time, pp_state); } - pml = get_deferred_open_message_smb(mid); + pml = get_deferred_open_message_smb(smbreq->mid); if (!pml) { return false; } @@ -764,7 +764,7 @@ bool push_deferred_open_message_smb(struct smb_request *req, struct timeval end_time; if (req->smb2req) { - return push_deferred_open_message_smb2(req, + return push_deferred_open_message_smb2(req->smb2req, request_time, timeout, private_data, |