[cifs-protocol] [REG:116022413751567 ] Response to SVHDX_OPEN_DEVICE_CONTEXT[_V2] when shared VHDX is not supported
jra at samba.org
Fri Feb 26 18:18:35 UTC 2016
On Fri, Feb 26, 2016 at 06:16:25PM +0000, Bryan Burgin wrote:
> I'm still researching this on my end.
OK, it does look like we jumped the gun on removing the
STATUS_INVALID_PARAMETER check (but right now this is
only in master).
I'll wait until you report back before we revert, just
in case you can find us a "get-out-of-jail-free" card
somewhere in your research :-).
> -----Original Message-----
> From: Uri Simchoni [mailto:uri at samba.org]
> Sent: Thursday, February 25, 2016 8:51 PM
> To: Bryan Burgin <bburgin at microsoft.com>; Jeremy Allison <jra at samba.org>
> Cc: cifs-protocol at lists.samba.org; MSSolve Case Email <casemail at microsoft.com>
> Subject: Re: [cifs-protocol] [REG:116022413751567 ] Response to SVHDX_OPEN_DEVICE_CONTEXT[_V2] when shared VHDX is not supported
> On 02/26/2016 12:02 AM, Bryan Burgin wrote:
> > The errata only concerns processing for create context names that are unknown (like 'AAPL'). [MS-SMB2] 18.104.22.168 "SMB2_CREATE_CONTEXT Request Values" enumerates the known context names and identifies 0x9CCBCF9E04C1E643980E158DA1F6EC83 as SVHDX_OPEN_DEVICE_CONTEXT. [MS-SMB2] further has the server processing rule for at 22.214.171.124.14 "Handling the SVHDX_OPEN_DEVICE_CONTEXT Create Context" that describe "If IsSharedVHDSupported is FALSE, the server MUST fail the request with STATUS_INVALID_DEVICE_REQUEST" for "servers that implement the SMB 3.0.2 or SMB 3.1.1 dialect".
> That's also my reading of the errata+spec, which is why I opened this case (i.e. I agree that ignoring the SVHDX is not according to the spec and I was hoping the spec is wrong).
> One missing piece for me is what a Windows server does - does it always support RSVD by definition or is it configuration-dependent (because it needs a SCSI backend to which it tunnels the SCSI commands). And if it's configuration-dependent, how the system behaves when there's no RSVD.
> > B.
> > -----Original Message-----
> > From: Jeremy Allison [mailto:jra at samba.org]
> > Sent: Thursday, February 25, 2016 1:50 PM
> > To: Bryan Burgin <bburgin at microsoft.com>
> > Cc: Uri Simchoni <uri at samba.org>; cifs-protocol at lists.samba.org;
> > MSSolve Case Email <casemail at microsoft.com>
> > Subject: Re: [cifs-protocol] [REG:116022413751567 ] Response to
> > SVHDX_OPEN_DEVICE_CONTEXT[_V2] when shared VHDX is not supported
> > On Thu, Feb 25, 2016 at 08:54:56PM +0000, Bryan Burgin wrote:
> >> However, per the spec, we believe that you should be either
> >> supporting the context (and RSVD) or failing the Create.
> > Hang on, the errata now says:
> > https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fmsdn.
> > microsoft.com%2fen-us%2flibrary%2fdn785067.aspx&data=01%7c01%7cbburgin
> > %40microsoft.com%7cb2eeec7298884d083d0f08d33e2dab75%7c72f988bf86f141af
> > 91ab2d7cd011db47%7c1&sdata=E3QLM1S5A2aVW18YKIxi8QfA%2fwuHVdSzW1dsBybNQ
> > tg%3d
> > 2015/12/11
> > In section 126.96.36.199 Receiving an SMB2 CREATE Request, the first paragraph under Create Context Validation has been changed.
> > Changed from:
> > The server SHOULD<247> fail any request having a create context not specified in section 188.8.131.52 with a STATUS_INVALID_PARAMETER error.
> > <247> Section 184.108.40.206: Windows Vista SP1, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8, and Windows Server 2012 ignore create contexts having a NameLength greater than 4 and ignore create contexts with a length of 4 that are not specified in section 220.127.116.11.
> > Changed to:
> > The server MUST fail create contexts having a NameLength less than 4 with a STATUS_INVALID_PARAMETER error.
> > That doesn't say anything about supporting a specific context - just return STATUS_INVALID_PARAMETER if NameLength < 4 - which we already do.
> > As far as I can see we are correctly implementing the spec.
> > Jeremy.
More information about the cifs-protocol