summaryrefslogtreecommitdiff
path: root/source3/smbd/process.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2010-04-22 23:52:19 -0700
committerJeremy Allison <jra@samba.org>2010-04-22 23:52:19 -0700
commit8f67f873ace91964da066c421986e260aceba75b (patch)
tree21776965085b9926a28ff5ed41ef147176668386 /source3/smbd/process.c
parent9cd712d1bc1ac5140597e86b5c634d2c820d86de (diff)
downloadsamba-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.c8
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,