[cifs-protocol] [116100414754619] FSCTL_DUPLICATE_EXTENTS_TO_FILE appears to completely bypass file locks

David Disseldorp ddiss at suse.de
Thu Oct 27 22:51:46 UTC 2016


[protocol list added to cc]

On Thu, 27 Oct 2016 17:21:45 +0000, Jeff McCashland wrote:

> Hi David,
> 
> Our FS team confirms that FSCTL_DUPLICATE_EXTENTS_TO_FILE ignores byte range locks. There do not appear to be any conditions where FSCTL_DUPLICATE_EXTENTS_TO_FILE will return 
> STATUS_FILE_LOCK_CONFLICT. 
> 
> I have filed a document update request to remove these two paragraphs from [MS-FSA] section 2.1.5.9.4 FSCTL_DUPLICATE_EXTENTS_TO_FILE:
> 
> § The object store MUST check for byte range lock conflicts on Open.Stream using the algorithm described in section 2.1.4.10 with ByteOffset set to InputBuffer.TargetFileOffset, Length set to InputBuffer.ByteCount, IsExclusive set to TRUE, LockIntent set to FALSE, and Open set to Open. If a conflict is detected, the operation MUST be failed with STATUS_FILE_LOCK_CONFLICT.
> 
> § The object store MUST check for byte range lock conflicts on Source using the algorithm described in section 2.1.4.10 with ByteOffset set to InputBuffer.SourceFileOffset, Length set to InputBuffer.ByteCount, IsExclusive set to FALSE, LockIntent set to FALSE, and Open set to InputBuffer.FileHandle. If a conflict is detected, the operation MUST be failed with STATUS_FILE_LOCK_CONFLICT.
> 
> Thank you for reporting this issue. Please let me know if you have any further questions or concerns.

Great, thanks a lot for your investigation and clarification here, Jeff!

Best regards, David

> 
> Best regards,
> Jeff McCashland | Senior Escalation Engineer | Microsoft Protocol Open Specifications Team 
> Phone: +1 (425) 703-8300 x38300 | Hours: 9am-5pm | Time zone: (UTC-08:00) Pacific Time (US and Canada)
> Local country phone number found here: http://support.microsoft.com/globalenglish | Extension 1138300
> We value your feedback.  My manager is Rama Ganesan (ramagane), +1 (425) 703-8712
> 
> -----Original Message-----
> From: Jeff McCashland 
> Sent: Wednesday, October 26, 2016 12:54 PM
> To: 'David Disseldorp' <ddiss at suse.de>
> Cc: MSSolve Case Email <casemail at microsoft.com>
> Subject: RE: [116100414754619] FSCTL_DUPLICATE_EXTENTS_TO_FILE appears to completely bypass file locks
> 
> Hi David,
> 
> I haven't found any answers on this issue yet. I'm engaging our FS team to drill deeper into it. 
> 
> I'll let you know what we come up with.
> 
> Best regards,
> Jeff McCashland | Senior Escalation Engineer | Microsoft Protocol Open Specifications Team
> Phone: +1 (425) 703-8300 x38300 | Hours: 9am-5pm | Time zone: (UTC-08:00) Pacific Time (US and Canada) Local country phone number found here: http://support.microsoft.com/globalenglish | Extension 1138300 We value your feedback.  My manager is Rama Ganesan (ramagane), +1 (425) 703-8712
> 
> -----Original Message-----
> From: Jeff McCashland
> Sent: Monday, October 24, 2016 9:12 AM
> To: 'David Disseldorp' <ddiss at suse.de>
> Cc: MSSolve Case Email <casemail at microsoft.com>
> Subject: RE: [116100414754619] FSCTL_DUPLICATE_EXTENTS_TO_FILE appears to completely bypass file locks
> 
> Thanks David!
> 
> I'll dig into these and let you know what I find.
> 
> Best regards,
> Jeff McCashland | Senior Escalation Engineer | Microsoft Protocol Open Specifications Team
> Phone: +1 (425) 703-8300 x38300 | Hours: 9am-5pm | Time zone: (UTC-08:00) Pacific Time (US and Canada) Local country phone number found here: http://support.microsoft.com/globalenglish | Extension 1138300 We value your feedback.  My manager is Rama Ganesan (ramagane), +1 (425) 703-8712
> 
> -----Original Message-----
> From: David Disseldorp [mailto:ddiss at suse.de]
> Sent: Friday, October 21, 2016 4:23 PM
> To: Jeff McCashland <jeffm at microsoft.com>
> Cc: MSSolve Case Email <casemail at microsoft.com>
> Subject: Re: [116100414754619] FSCTL_DUPLICATE_EXTENTS_TO_FILE appears to completely bypass file locks
> 
> On Fri, 21 Oct 2016 15:51:10 +0000, Jeff McCashland wrote:
> 
> > Hi David,
> > 
> > Do you have an idea of when you may be able to collect the traces requested below?   
> 
> I've uploaded the cab files and network traces for the two locking scenarios.
> - FSCTL_DUPLICATE_EXTENTS_TO_FILE with source file locked
> - FSCTL_DUPLICATE_EXTENTS_TO_FILE with target file locked
> 
> Both were captured against a Windows Server 2016 Tech Preview 5 Server.
> Sorry about the wait.
> 
> > I'm working on putting together a repro of this issue. Any suggestions or pointers would be welcome.  
> 
> A reproducer is present in the Samba smbtorture test suite[1], and can be run via:
> # bin/smbtorture -U <user> //<server>/<share> smb2.ioctl.dup_extents_src_lock or # bin/smbtorture -U <user> //<server>/<share> smb2.ioctl.dup_extents_dest_lock
> 
> Thanks, David
> 
> 1. smbtorture dup_extents_{src,dest}_lock tests
>    https://git.samba.org/?p=samba.git;a=blob;f=source4/torture/smb2/ioctl.c;hb=HEAD#l5962




More information about the cifs-protocol mailing list