From 1ad551ce3079f55d4b21a7853df15efaf5ae19cc Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Wed, 19 May 2010 20:09:51 -0700 Subject: After talking with Microsoft engineers, immediately replying on compound requests on open being deferred for a sharing violation is a Windows bug. Re-enable the code that simply delays the compound response if the delay time is less than 2 seconds. Jeremy. --- source3/smbd/smb2_create.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'source3/smbd/smb2_create.c') diff --git a/source3/smbd/smb2_create.c b/source3/smbd/smb2_create.c index 65022d5c84..09bd827802 100644 --- a/source3/smbd/smb2_create.c +++ b/source3/smbd/smb2_create.c @@ -1159,7 +1159,8 @@ bool push_deferred_open_message_smb2(struct smbd_smb2_request *smb2req, if (!state->private_data.data) { return false; } -#if 0 + +#if 1 /* Boo - turns out this isn't what W2K8R2 does. It actually sends the STATUS_PENDING message followed by the STATUS_SHARING_VIOLATION @@ -1167,6 +1168,10 @@ bool push_deferred_open_message_smb2(struct smbd_smb2_request *smb2req, calls (even on directories) will potentially fail in a chain.... ? And I've seen directory opens as the start of a chain. JRA. + + Update: 19th May 2010. Talking with Microsoft + engineers at the plugfest this is a bug in + Windows. Re-enable this code. */ /* * More subtlety. To match W2K8R2 don't -- cgit