<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
p.emailquote, li.emailquote, div.emailquote
        {mso-style-name:emailquote;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:1.0pt;
        border:none;
        padding:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
p.xmsonormal, li.xmsonormal, div.xmsonormal
        {mso-style-name:x_msonormal;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Hi Uri,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Some additional research.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">This is a case where an upper-layer application is adding the Context and SMB2 is just the plumbing.  The danger with ignoring the Context altogether is you (you
 being anyone in the plumbing as we are including us) don’t know why the application is adding the context.  This is the same code that in 2013 assumed that if the negotiated context was of a sufficient level where Resiliency could be supported then the application
 layer assumed that it must be (i.e., it sent the resiliency request and did a hard failure if the response was not successful).  The fix back then was to still ask for resiliency, but not consider its absence to be a hard failure.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Ultimately, I think that the statement in [MS-SMB2] is correct in that you should fail the Create and that the right fix (potentially) is to request another fix
 in our code to not add the RSVD context if it’s not needed.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">I know you already pushed a Samba fixed based on my preliminary comments.  We may want to discuss that more and possibly roll that back or refine it.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Bryan<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Bryan Burgin
<br>
<b>Sent:</b> Wednesday, February 24, 2016 9:51 PM<br>
<b>To:</b> Uri Simchoni <uri@samba.org><br>
<b>Cc:</b> cifs-protocol@lists.samba.org; MSSolve Case Email <casemail@microsoft.com><br>
<b>Subject:</b> RE: [REG:116022413751567 ] Response to SVHDX_OPEN_DEVICE_CONTEXT[_V2] when shared VHDX is not supported<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="xmsonormal"> <o:p></o:p></p>
<p class="xmsonormal">I’m still working with the PG to determine if ignoring is acceptable as the RSVD create context is likely being added at a layer above SMB (I.e., the app layer).<o:p></o:p></p>
<p class="xmsonormal"> <o:p></o:p></p>
<p class="xmsonormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"> </span><o:p></o:p></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="xmsonormal"><b>From: </b><a href="mailto:uri@samba.org">Uri Simchoni</a><br>
<b>Sent: </b>Wednesday, February 24, 2016 8:47 PM<br>
<b>To: </b><a href="mailto:bburgin@microsoft.com">Bryan Burgin</a><br>
<b>Cc: </b><a href="mailto:cifs-protocol@lists.samba.org">cifs-protocol@lists.samba.org</a>;
<a href="mailto:casemail@microsoft.com">MSSolve Case Email</a><br>
<b>Subject: </b>Re: [REG:116022413751567 ] Response to SVHDX_OPEN_DEVICE_CONTEXT[_V2] when shared VHDX is not supported<o:p></o:p></p>
</div>
<p class="xmsonormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"> </span><o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:10.0pt">Thanks bryan, that clears things up.<br>
Uri.<br>
On 02/24/2016 11:31 PM, Bryan Burgin wrote:<br>
> [Adding case number to subject]<br>
><br>
> Hi Uri,<br>
><br>
> We created SR 116022413751567 to track this issue.<br>
><br>
> 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.<br>
><br>
> I'll research this for you.<br>
><br>
> 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.<br>
><br>
> Bryan<br>
><br>
> -----Original Message-----<br>
> From: Uri Simchoni [<a href="mailto:uri@samba.org">mailto:uri@samba.org</a>]<br>
> Sent: Wednesday, February 24, 2016 12:41 PM<br>
> To: Bryan Burgin <<a href="mailto:bburgin@microsoft.com">bburgin@microsoft.com</a>>; Interoperability Documentation Help <<a href="mailto:dochelp@microsoft.com">dochelp@microsoft.com</a>><br>
> Cc: <a href="mailto:cifs-protocol@lists.samba.org">cifs-protocol@lists.samba.org</a><br>
> Subject: Response to SVHDX_OPEN_DEVICE_CONTEXT[_V2] when shared VHDX is not supported<br>
><br>
> Hi Bryan,<br>
><br>
> This is a clarification request following recently-closed REG:116022313745563.<br>
><br>
> I would appreciate a clarification with regards to Shared VHDX and [MS-SMB2].<br>
><br>
> 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).<br>
><br>
> However, my reading of [MS-SMB2], including the errata, suggests otherwise:<br>
><br>
> 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.<br>
><br>
> 2. 3.3.5.9.14 says "If IsSharedVHDSupported is FALSE, the server MUST fail the request with STATUS_INVALID_DEVICE_REQUEST"<br>
> Whereas IsSharedVHDSupported is a global state variable signaling support for share VHDX - that is, it's FALSE in our case.<br>
><br>
> 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).<br>
><br>
> Please advise.<br>
><br>
> Thanks,<br>
> Uri.<br>
><o:p></o:p></span></p>
</div>
</div>
</body>
</html>