[cifs-protocol] 119100224002125 SMB3 LockSequence
edgaro at microsoft.com
Wed Oct 2 15:29:29 UTC 2019
It was great meeting the team and working with you, once more. Thank you for reaching out this SMB3 LockSequence topic. Following our conversations in Redmond, I have looked into this a bit further. I will follow-up soon. I took note of the two things you are asking about.
From: Sreekanth Nadendla <srenaden at microsoft.com>
Sent: Wednesday, October 2, 2019 9:33 AM
To: Stefan Metzmacher <metze at samba.org>; cifs-protocol at lists.samba.org
Cc: support <support at mail.support.microsoft.com>
Subject: 119100224002125 SMB3 LockSequence
Dochelp in Bcc
Casemail in Cc
Hello Stefan, thank you for your inquiry about MS-SMB2 specification. We have created incident 119100224002125 to investigate this issue.
Microsoft Windows Open Specifications
From: Stefan Metzmacher <metze at samba.org>
Sent: Wednesday, October 2, 2019 10:19 AM
To: Interoperability Documentation Help <dochelp at microsoft.com>; Edgar Olougouna <edgaro at microsoft.com>; cifs-protocol at lists.samba.org
Subject: SMB3 LockSequence
we discussed the topic in Redmond...
Even Windows Server 2019 only implements lock sequence checking only for resilient and persistent handles as a server.
While its client side uses lock sequence checking if it negotiated multichannel with the server.
[MS-SMB2] 220.127.116.11 Receiving an SMB2 LOCK Request
If the LockSequence value in the SMB2 LOCK Request (section 2.2.26) is not zero, and either one of the following conditions is TRUE, the server SHOULD verify whether the lock/unlock request with that LockSequence value has been successfully processed before:
* Connection.Dialect is "2.1" and Open.IsResilient is TRUE.
* Connection.Dialect belongs to the SMB 3.x dialect family.<318>
<318> Section 18.104.22.168: Windows 8, Windows Server 2012, Windows 8.1,
and Windows Server 2012 R2 do not verify the LockSequence value
in the SMB2 LOCK Request (section 2.2.26) when both
Open.IsResilient and Open.IsPersistent are FALSE.
Note <318> also applies to Windows Server 2016 and 2019 (any current version).
It would be great if the documentation can be adjusted.
But the more important question would be that the Windows Server behavior will be changed to just use the SMB 3.x dialect to turn the LockSequence checking on.
Would it be possible to get a commitment from Microsoft that this will be fixed in future releases?
Backports would also be nice.
More information about the cifs-protocol