[cifs-protocol] SMBv1 multiple lock cancel behavior
Hongwei Sun
hongweis at microsoft.com
Fri Dec 11 14:25:14 MST 2009
Proposed Response:
Steven,
After review, we have confirmed that if the CANCEL_LOCK in SMB_COM_LOCKING_ANDX bit is set, Windows based servers cancel only the first request in the lock array, and returns SUCCESS for the request. We will update the MS-CIFS document with this behavior.
If you have any questions, please let us know.
Thanks!
--------------------------------------------------------------------
Hongwei Sun - Sr. Support Escalation Engineer
DSC Protocol Team, Microsoft
hongweis at microsoft.com<mailto:hongweis at microsoft.com>
Tel: 469-7757027 x 57027
---------------------------------------------------------------------
Original E-mail:
From: Steven Danneman [mailto:steven.danneman at isilon.com]
Sent: Thursday, December 03, 2009 4:57 PM
To: Interoperability Documentation Help
Cc: cifs-protocol at samba.org; pfif at tridgell.net
Subject: SMBv1 multiple lock cancel behavior
Hello,
I've got yet another byte range locking question.
MS-CIFS (v0.1) states in section 2.2.4.32.1:
"If the Locks vector contains one and only one entry (NumberOfRequestedLocks ==
1) and TypeOfLock has the CANCEL_LOCK bit set, the client is requesting that the
server cancel a previously requested but unacknowledged lock."
My newly pushed smbtorture4 test, part of RAW-LOCK-ASYNC, shows a W2K8R2 server accepting a request with the CANCEL_LOCK bit set that contains multiple entries in the lock array, ie NumberOfRequestedLocks == 2. The server then seems to cancel the first outstanding lock and return SUCCESS.
More information about the cifs-protocol
mailing list