[cifs-protocol] FSCTL_SRV_COPYCHUNK locking discrepancies between Windows versions

David Disseldorp ddiss at suse.de
Tue Dec 4 03:41:40 MST 2012


Hi DocHelp,

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
STATUS_FILE_LOCK_CONFLICT.

Network traces available.

Regards, David


More information about the cifs-protocol mailing list