[cifs-protocol] FSCTL_SRV_COPYCHUNK locking discrepancies between Windows versions
ddiss at suse.de
Tue Dec 4 03:41:40 MST 2012
Windows server behaviour when processing SMB2 FSCTL_SRV_COPYCHUNK
requests under byte-range lock conditions varies between versions.
These discrepancies do not appear to be documented.
Under Windows Server 2012, an SMB2 FSCTL_SRV_COPYCHUNK request with a
SourceKey, SourceOffset and Length referring to a locked file range
(SMB2_LOCKFLAG_EXCLUSIVE), fails with STATUS_FILE_LOCK_CONFLICT.
Under Windows 7 and Windows Server 2008r2, this is not the case. An
FSCTL_SRV_COPYCHUNK request with a SourceKey, SourceOffset and Length
referring to a locked file range succeeds.
An FSCTL_SRV_COPYCHUNK request with a _target_ FileID, TargetOffset and
Length referring to a locked file range fails on all tested platforms
(Windows Server 2012, Windows Server 2008r2 and Windows 7) with
Network traces available.
More information about the cifs-protocol