[cifs-protocol] [REG:112110862761681] FSCTL_SRV_COPYCHUNK error response

Obaid Farooqi obaidf at microsoft.com
Thu Nov 8 13:43:25 MST 2012


Hi David:
I'll help you with this issue and would be in touch as soon as I have an answer.

Please send me the network trace of the behavior you are observing.


Regards,
Obaid Farooqi
Escalation Engineer | Microsoft

Exceeding your expectations is my highest priority.  If you would like to provide feedback on your case you may contact my manager at nkang at Microsoft dot com


-----Original Message-----
From: David Disseldorp [mailto:ddiss at suse.de]
Sent: Thursday, November 08, 2012 8:38 AM
To: Interoperability Documentation Help; cifs-protocol at cifs.org; pfif at tridgell.net
Subject: FSCTL_SRV_COPYCHUNK error response

Hi DocHelp,

[MS-SMB2] currently describes the response to a FSCTL_SRV_COPYCHUNK SMB2 ioctl request with the following:

  3.3.4.4 Sending an Error Response

  When the server is responding with a failure to any command sent by
  the client, the response message MUST be constructed as described
  here. An error code other than one of the following indicates a
  failure:
...
  - Any status other than STATUS_SUCCESS in a FSCTL_SRV_COPYCHUNK or
    FSCTL_SRV_COPYCHUNK_WRITE Response, when returning an
    SRV_COPYCHUNK_RESPONSE as described in section 2.2.32.1.
...
  Following the SMB2 header MUST be an SMB2 ERROR Response structure, as
  specified in section 2.2.2.


  2.2.32.1 SRV_COPYCHUNK_RESPONSE

  ChunksWritten (4 bytes): If the Status field in the SMB2 header of the
  response is not STATUS_INVALID_PARAMETER, as specified in [MS-ERREF]
  section 2.3, this value indicates the number of chunks that were
  successfully written. If the Status field in the SMB2 header of
  the response is STATUS_INVALID_PARAMETER, this value indicates the
  maximum number of chunks that the server will accept in a single
  request. This would allow the client to correctly reissue the request.

...

I interpret the above text as meaning that the response to a FSCTL_SRV_COPYCHUNK SMB2 ioctl request will not include an SMB2 Error Response structure. Instead, a SRV_COPYCHUNK_RESPONSE structure will be returned, either with the request maximums (in the case of STATUS_INVALID_PARAMETER), or the amount successfully written.

Testing against Windows Server 2012 does not back up my interpretation.
Issuing a FSCTL_SRV_COPYCHUNK SMB2 ioctl request with an invalid SourceKey field sees the server respond with an Error Response and STATUS_OBJECT_NAME_NOT_FOUND.

Have I misinterpreted the documentation, or would it make sense to change 3.3.4.4?
An error code other than one of the following indicates a failure:
- A status of STATUS_INVALID_PARAMETER in a FSCTL_SRV_COPYCHUNK or
  FSCTL_SRV_COPYCHUNK_WRITE Response...

Regards, David
Microsoft is committed to protecting your privacy.  Please read the Microsoft Privacy Statement for more information.The above is an email for a support case from Microsoft Corp.REPLY ALL TO THIS MESSAGE or INCLUDE casemail at microsoft.com IN YOUR REPLY if you want your response added to the case automatically. For technical assistance, please include the Support Engineer on the TO: line. Thank you.


More information about the cifs-protocol mailing list