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
