[cifs-protocol] [REG:116022413751567 ] Response to SVHDX_OPEN_DEVICE_CONTEXT[_V2] when shared VHDX is not supported

Uri Simchoni uri at samba.org
Thu Feb 25 04:47:27 UTC 2016


Thanks bryan, that clears things up.
Uri.
On 02/24/2016 11:31 PM, Bryan Burgin wrote:
> [Adding case number to subject]
>
> Hi Uri,
>
> We created SR 116022413751567 to track this issue.
>
> Yes, there seems to be a disconnect in [MS-SMB2] 3.3.5.9.14 "Handling the SVHDX_OPEN_DEVICE_CONTEXT Create Context" where we say that you should return STATUS_INVALID_DEVICE_REQUEST if you recognize that the device context is SVHDX_OPEN_DEVICE_CONTEXT ("0x9CCBCF9E04C1E643980E158DA1F6EC83") but don't support RSVD on one hand but you should ignore the context if you don't recognize what the context is on the other.
>
> I'll research this for you.
>
> Logically, we know that the Windows backup feature will add this context to a Create and that backup will fail unless the create succeeds.  Thus, if you properly recognize the context name but don't support RSVD you shouldn't be at a disadvantage compared to not knowing what the context is at all.  I'll help clarify the disconnect in the specification.
>
> Bryan
>
> -----Original Message-----
> From: Uri Simchoni [mailto:uri at samba.org]
> Sent: Wednesday, February 24, 2016 12:41 PM
> To: Bryan Burgin <bburgin at microsoft.com>; Interoperability Documentation Help <dochelp at microsoft.com>
> Cc: cifs-protocol at lists.samba.org
> Subject: Response to SVHDX_OPEN_DEVICE_CONTEXT[_V2] when shared VHDX is not supported
>
> Hi Bryan,
>
> This is a clarification request following recently-closed REG:116022313745563.
>
> I would appreciate a clarification with regards to Shared VHDX and [MS-SMB2].
>
> In the correspondence of that case, it was indicated that upon receiving a SVHDX_OPEN_DEVICE_CONTEXT or SVHDX_OPEN_DEVICE_CONTEXT_V2 create context, an SMB3.0.2 or SMB3.1.1 server which does not support SVHDX on that share should ignore the context (If I understand correctly - that's the way to signal to the client that SVHDX is not supported).
>
> However, my reading of [MS-SMB2], including the errata, suggests otherwise:
>
> 1. The errata says "The server MUST fail create contexts having a NameLength less than 4 with a STATUS_INVALID_PARAMETER error." - OK, the server doesn't fail the context and moves on with processing the Open.
>
> 2. 3.3.5.9.14 says "If IsSharedVHDSupported is FALSE, the server MUST fail the request with STATUS_INVALID_DEVICE_REQUEST"
> Whereas IsSharedVHDSupported is a global state variable signaling support for share VHDX - that is, it's FALSE in our case.
>
> It is true that 3.3.5.9.14 is about SVHDX_OPEN_DEVICE_CONTEXT and in the aforementioned case the context was SVHDX_OPEN_DEVICE_CONTEXT_V2, but read this section as relating to SVHDX_OPEN_DEVICE_CONTEXT_V2 as well, because there's no other reference to SVHDX_OPEN_DEVICE_CONTEXT_V2 handling (and since it's a tunneling operation, the SMB server doesn't care much if it's _V2 or not).
>
> Please advise.
>
> Thanks,
> Uri.
>




More information about the cifs-protocol mailing list