Hi Ralph:
In the following statement:
" When Open.Connection is not NULL and a create is received with replay flag 
set, the server will return status_file_not_available."

I forgot to include the important condition "...and Open.Persistent is TRUE..."

So the complete sentence is 

"When Open.Connection is not NULL and Open.Persistent is TRUE, if a create is 
received with replay flag set, the server will return 
status_file_not_available."

This is my own wording based on my debugging. The final document change will 
have the normative language.

Please let me know if this does not answer your question.

Regards,
Obaid Farooqi
Sr. Escalation Engineer | Microsoft

-----Original Message-----
From: Ralph Boehme <s...@samba.org> 
Sent: Tuesday, July 8, 2025 7:25 AM
To: Obaid Farooqi <oba...@microsoft.com>
Cc: Microsoft Support <supportm...@microsoft.com>; cifs-protocol@lists.samba.org
Subject: Re: [EXTERNAL] MS-SMB2: Create replay and Persistent Handle - 
TrackingID#2506160040006768

Hi Obaid

On 7/2/25 9:53 PM, Obaid Farooqi wrote:
> When Open.Connection is not NULL and a create is received with replay 
> flag set, the server will return status_file_not_available.
hm, not sure if this will correctly cover the non-persistent DHv2 case?

See attached trace from a Windows Server 2022 which just opens a new handle (p. 
34/35): as the preceeding WRITE (p. 32/33) has set Open.IsReplayEligible to 
False, the create replay doesn't find an open that is eligible for replay and 
handles it as a new open instead:

---8<---
3.3.5.9.10 Handling the SMB2_CREATE_DURABLE_HANDLE_REQUEST_V2 Create Context

...

The server MUST locate the Open in GlobalOpenTable where Open.IsReplayEligible 
is TRUE and Open.CreateGuid matches the CreateGuid in the 
SMB2_CREATE_DURABLE_HANDLE_REQUEST_V2 create context, and Open.ClientGuid 
matches the ClientGuid of the connection that received this request.

If an Open is not found, the server MUST continue the create process specified 
in the "Open Execution" Phase, ...
---8<---

I'll upload the trace via the link you provided.

Thanks!
-slow
_______________________________________________
cifs-protocol mailing list
cifs-protocol@lists.samba.org
https://lists.samba.org/mailman/listinfo/cifs-protocol

Reply via email to