Hi Obaid,

I've uploaded the requested traces with sharemode=RW.

Thanks!
-slow

On 8/25/25 4:13 AM, Obaid Farooqi wrote:
Hi Ralph:
Thanks for the traces. Unfortunately what I was thinking (second create coming 
too soon) did not work.
In order for me to compare apples to apples, can you please make the share mode 
in both case the same?

In case of lease, the share mode is RW in first create and RWD in case of 
second create
For oplocks, you are doing just read in first create and RWD in second create.

Can you please do exactly the same sharing mode for oplocks?

Regards,
Obaid Farooqi
Sr. Escalation Engineer | Microsoft

-----Original Message-----
From: Obaid Farooqi
Sent: Tuesday, August 19, 2025 4:02 AM
To: Ralph Boehme <[email protected]>
Cc: [email protected]; Microsoft Support <[email protected]>
Subject: RE: [EXTERNAL] MS-SMB2: Disconnected Persistent Handle with batch 
oplock not protected from contending open with write access - 
TrackingID#2508100040000955

Hi Ralph:
In the first client, can you do a write or some other operation on the file 
before disconnecting?

Regards,
Obaid Farooqi
Sr. Escalation Engineer | Microsoft

-----Original Message-----
From: Ralph Boehme <[email protected]>
Sent: Friday, August 15, 2025 12:34 PM
To: Obaid Farooqi <[email protected]>
Cc: [email protected]; Microsoft Support <[email protected]>
Subject: Re: [EXTERNAL] MS-SMB2: Disconnected Persistent Handle with batch 
oplock not protected from contending open with write access - 
TrackingID#2508100040000955

Hi Obaid,

looking again at the quoted section:

On 8/14/25 9:28 PM, Obaid Farooqi wrote:
I think the behavior you are observing is explained pretty well in
section " 3.3.4.6 Object Store Indicates an Oplock Break". There is no
consideration to open.IsPersistent when there is no connection
available, as stated in specifications as follows:

" If the notification could not be sent on any connection, the server
MUST complete the oplock break from the underlying object store with
SMB2_OPLOCK_LEVEL_NONE as the new oplock level and MUST set
Open.OplockLevel to SMB2_OPLOCK_LEVEL_NONE and Open.OplockState to
None. "
this says it will break to NONE, but what I see and reported is a break from 
BATCH to SHARED.

Additionally, a SHARED oplock is not downgraded at all, same for a EXCLUSIVE 
oplock.

I'm going to upload traces for these two additional cases.

Maybe it's too late in the evening, but all three oplock break scenarios

S -> S
X -> X
B -> S

don't seem to align with the spec.

*scratches head*

Thanks!
-slow

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

_______________________________________________
cifs-protocol mailing list
[email protected]
https://lists.samba.org/mailman/listinfo/cifs-protocol

Reply via email to