Hi Slow,

Please let me know if you have any further questions or concerns regarding this 
scenario. I'm happy to set up a call with you to discuss if you like.

I'll leave the case open until early next week, but you're always welcome to 
reach out at a later time.

Regards,
Kristian Smith
Escalation Engineer | Microsoft(r) Corporation
Email: [email protected]

-----Original Message-----
From: Kristian Smith
Sent: Tuesday, December 9, 2025 2:24 PM
To: Ralph Boehme <[email protected]>
Cc: Obaid Farooqi <[email protected]>; Microsoft Support 
<[email protected]>; cifs-protocol <[email protected]>
Subject: RE: [EXTERNAL] Re: [MS-SMB2] disconnected PH looses RH lease - 
TrackingID#2509240040006811

Hi slow,

I have an answer regarding the scenario where a byte-range lock changes the 
ability for a reconnecting client to reclaim RH leasing.

Since the byte-range lock remains upon reconnect, the logic from the filesystem 
prevents SMB from reacquiring an RH lease. The filesystem logic is documented 
in MS-FSA section 2.1.5.18 Server Requests an Oplock.

------------------------------------------------
2.1.5.18 Server Requests an Oplock

If RequestedOplockLevel is READ_CACHING or (READ_CACHING|HANDLE_CACHING):
        The operation MUST be failed with STATUS_OPLOCK_NOT_GRANTED under 
either of the following conditions:
                Open.Stream.ByteRangeLockList is not empty and 
Open.Stream.AllocationSize is greater than any ByteRangeLock.LockOffset in 
Open.Stream.ByteRangeLockList.
                Open.Mode contains either FILE_SYNCHRONOUS_IO_ALERT or 
FILE_SYNCHRONOUS_IO_NONALERT.
-----------------------------------------------

If you have any additional clarifying questions, please let me know. I'm also 
happy to set up a call if that's easier.

Regards,
Kristian Smith
Escalation Engineer | Microsoft(r) Corporation
Email: [email protected]

-----Original Message-----
From: Obaid Farooqi <[email protected]>
Sent: Thursday, December 4, 2025 4:34 PM
To: Ralph Boehme <[email protected]>
Cc: Kristian Smith <[email protected]>; Microsoft Support 
<[email protected]>; cifs-protocol <[email protected]>
Subject: RE: [EXTERNAL] Re: [MS-SMB2] disconnected PH looses RH lease - 
TrackingID#2509240040006811

Hi Ralph:
I am assisting Kristian with this case.
You said below that you modified the test case to remove brl. Which test case 
is that?

Regards,
Obaid Farooqi
Sr. Escalation Engineer | Microsoft

-----Original Message-----
From: Ralph Boehme <[email protected]>
Sent: Sunday, September 14, 2025 10:43 AM
To: Kristian Smith <[email protected]>
Cc: [email protected]; Microsoft Support <[email protected]>
Subject: [EXTERNAL] Re: [MS-SMB2] disconnected PH looses RH lease - 
TrackingID#2508130040006291

Hi Kristian,

thanks for looking into this!

So it seems server side processing is dependent on whether the file has a brl 
nor not. Until now all my tests were always taking a brl.

Modifying the test to not take a brl (and I'm going to duplicate my whole test 
matrix to cover both cases), the behavior changes to

1. Client 1 opens a file with PH, lease=RH, sharemode=NONE 2. Client 1 
disconnects TCP 3. Client 2 wants to open the file for reading, server returns 
STATUS_PENDING 4. Client 1 reconnects SMB 5. Client 1 reconnects PH and in the 
response the lease state is RH 6. Server sends lease break RH->R to client 1, 
client 1 ACKs the break 7. Server continues to process CREATE from step 3 and 
fails the request with STATUS_SHARING_VIOLATION.

So it the absence vs presence of a brl *completely* changes server processing. 
I'm currently a bit lost trying to make sense of it, figuring out the guiding 
principles all this is based on.

Thanks!
-slow


On 9/8/25 7:27 PM, Kristian Smith wrote:
> Hi Slow,
>
> With regard to the following circumstance for which you've outlined and 
> gathered traces:
>
> "
> 1. Client 1 opens a file with PH, lease=RH, sharemode=NONE 2. Client 1
> disconnects TCP 3. Client 2 wants to open the file for reading, this
> fails with STATUS_FILE_NOT_AVAILABLE 4. Client 1 reconnects SMB 5.
> Client 1 reconnects PH and in the response the lease state is NONE
> (and the epoch is unchanged) "
>
> I've debugged the scenario after locating the smbtorture test used and found 
> that Windows has a condition where an existing byte range lock on a file will 
> cause a reconnect request with RH to result in a response with a lease state 
> of NONE. This is a unique scenario that I will work with the documentation 
> team to specify in [MS-FSA]. Thanks for bringing this to our attention and 
> helping us maintain accuracy in the docs. If you have any questions or 
> concerns, please let me know.
>
> Regards,
> Kristian Smith
> Support Escalation Engineer | Microsoft(r) Corporation
> Email: [email protected]
>
> -----Original Message-----
> From: Kristian Smith
> Sent: Wednesday, August 27, 2025 3:25 PM
> To: 'Ralph Boehme' <[email protected]>
> Cc: '[email protected]' <[email protected]>;
> Microsoft Support <[email protected]>
> Subject: RE: [MS-SMB2] disconnected PH looses RH lease -
> TrackingID#2508130040006291
>
> Hi Slow,
>
> I just wanted to let you know that I've received your traces and I'm 
> currently investigating. I will be out of the office until the 2nd of 
> September, but will return to my investigation at that time. If an urgent 
> question arises in the meantime, please reach out to [email protected].
>
> Thanks for your patience.
>
> Regards,
> Kristian Smith
> Support Escalation Engineer | Microsoft(r) Corporation
> Email: [email protected]
>
> -----Original Message-----
> From: Kristian Smith
> Sent: Tuesday, August 19, 2025 12:53 PM
> To: Ralph Boehme <[email protected]>
> Cc: [email protected]; Microsoft Support
> <[email protected]>
> Subject: RE: [MS-SMB2] disconnected PH looses RH lease -
> TrackingID#2508130040006291
>
> Hi Slow,
>
> I'm looking into this issue for you. I think it would be easier to diagnose 
> with the network and t.cmd traces. Would you please upload them to the link 
> below?
>
> Collect SMB traces with t.cmd and gather WireShark trace
> 1.    Rename t.txt to t.cmd (file is attached)
> 2.    Open Command Prompt as Administrator (PowerShell works too, you just 
> need to enter the command "cmd" when it opens)
> 3.    Navigate to the directory of t.cmd
> 4.    Run "t.cmd srvon"
> 5.    Start a network trace with WireShark
> 5.    Reproduce the scenario
> 6.    End network trace
> 6.    Run "t.cmd off"
> 7.    Upload the .cab file and network trace via link provided: 
> https://support.microsoft.com/files?workspace=eyJhbGciOiJSUzI1NiIsImtpZCI6IjUwNjQwRTE0NEREODg5MzE5NzYzRTBFNjM5RjMzNjdFQUNDNzlBRDAiLCJ0eXAiOiJKV1QifQ.eyJ3c2lkIjoiOTE5NDM3ODAtNGUxZS00NzllLTk3NDgtMDBkOWNhNmY5MGQ2Iiwic3IiOiIyNTA4MTMwMDQwMDA2MjkxIiwic3YiOiJ2MSIsInJzIjoiRXh0ZXJuYWwiLCJ3dGlkIjoiMzY0ZDM0OWQtMWJiYi00NzYzLTllMTYtYjI1YjYyM2JkMTExIiwiYXBwaWQiOiI0ZTc2ODkxZC04NDUwLTRlNWUtYmUzOC1lYTNiZDZlZjIxZTUiLCJuYmYiOjE3NTU2MzMwMjUsImV4cCI6MTc2MzQwOTAyNCwiaWF0IjoxNzU1NjMzMDI1LCJpc3MiOiJodHRwczovL2FwaS5kdG1uZWJ1bGEubWljcm9zb2Z0LmNvbSIsImF1ZCI6Imh0dHA6Ly9zbWMifQ.fI8Km4wuEKzQV-vlA61yxw1UKkJLSNK4CH7LSRPGpFJw4B_usMsnDfWPj_MD7br6XLh-GLLhtRmAYhCiHcFciAt7pA4gTpFZBZGCpdYdVHCO4v3YVr7tMtLmN6nhtyo8xVpBFor04jA5nzYnSDThqmWZEGxW5Oc4dFqQ_aEfacCYn68KwqxgvqasQjGht9AV_Kdrz8L2oyHd2zgBaxR_Jag1VfF5nDexuJoVRR37kdvvMwCPZq-qZlGaVJtkgwk3t6ZE2lgF8laQOoZVYmwmKRJW1hub_beA6iTKT0EMV0H2XSwZAW9H744hUdnd41OePbzqUs43_IcDLq2mkxM7FQ&wid=91943780-4e1e-479e-9748-00d9c
 a6f90d6
>
> Let me know if you have any issues collecting the smb trace. Thanks for your 
> time.
>
> Regards,
> Kristian Smith
> Support Escalation Engineer | Microsoft(r) Corporation
> Email: [email protected]
>
> -----Original Message-----
> From: Kristian Smith
> Sent: Wednesday, August 13, 2025 8:36 AM
> To: Ralph Boehme <[email protected]>
> Cc: [email protected]; Microsoft Support
> <[email protected]>
> Subject: RE: [MS-SMB2] disconnected PH looses RH lease -
> TrackingID#2508130040006291
>
> [DocHelp to Bcc]
>
> Hi Slow,
>
> Thanks again for your Persistent Handle question. I've created case 
> 2508130040006291 to track the issue. One of our engineers will investigate 
> this and reach out to you soon.
>
> Regards,
> Kristian Smith
> Support Escalation Engineer | Microsoft(r) Corporation
> Email: [email protected]
>
> -----Original Message-----
> From: Ralph Boehme <[email protected]>
> Sent: Wednesday, August 13, 2025 3:33 AM
> To: Interoperability Documentation Help <[email protected]>
> Cc: [email protected]
> Subject: [EXTERNAL] MS-SMB2: disconnected PH looses RH lease
>
> Hello dochelp,
>
> another one... :)
>
> I see the following unexpected behaviour against a Windows server with 
> Fileserver for General Use role where a Persistent Handle with lease=RH is 
> silently downgraded to NONE:
>
> 1. Client 1 opens a file with PH, lease=RH, sharemode=NONE 2. Client 1
> disconnects TCP 3. Client 2 wants to open the file for reading, this
> fails with STATUS_FILE_NOT_AVAILABLE 4. Client 1 reconnects SMB 5.
> Client 1 reconnects PH and in the response the lease state is NONE
> (and the epoch is unchanged)
>
> Accoding to "3.3.4.7 Object Store Indicates a Lease Break" it is ok to loose 
> an R lease, but not an RH lease, similarly "SMB 2.2 : Bigger, Faster, Scalier 
> (Part 2)", page 50, states breaking from RH to none is "illegal".
>
> Can you please clarify?
>
> Traces (pcap + t.cmd) available.
>
> Thanks!
> -slow


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

Reply via email to