<div>I have some questions as to what the guarantees in the protocol are as far as "ordering" of responses and when those responses occurred.</div><div><br></div><div>MS-SMB2: 3.1.5 is clear in that it says there is no processing or sequencing rules.  (If this is the correct part of the document to draw such semantics from.)</div>

<div><br></div><div>But it does not tell an implementer about the meaning of the responses.  Do they have to be "temporally" correct.  IE: If the server replies Q happened, all other responses there after should have Q taken into account.  A paraphrased set of examples is included below, please read them for their intent not for full correctness.</div>

<div><br></div><div>Example #1:</div><div>Client: Compound: (CREATE REQUEST for directory X; QUERY_DIRECTORY REQUEST in directory X; QUERY_DIRECTORY request in directory X)</div><div>Client :CREATE REQUEST for file Y in directory X (No permission for delete given)</div>

<div>Server: CREATE REQUEST response for file Y (File is created.)</div><div>Server: Compound (CREATE REQUEST response; QUERY_DIRECTORY REQUEST response (Does not contain file Y); QUERY_DIRECTORY response no more files)</div>

<div><br></div><div>And how does that answer compare to:</div><div><div><div><br></div><div>Example #2:</div><div>Client :CREATE REQUEST for file Y in directory X (No permission for delete given)</div><div>Server: CREATE REQUEST response for file Y (File is created.)</div>

</div><div>Client: Compound: (CREATE REQUEST for directory X; QUERY_DIRECTORY REQUEST in directory X; QUERY_DIRECTORY request in directory X)</div><div>Server: Compound (CREATE REQUEST response; QUERY_DIRECTORY REQUEST response (Does not contain file Y); QUERY_DIRECTORY </div>

</div><div><br></div><div>Is the server correct to reply without Y, in any of the above cases?  Why or why not?  If the server is allowed to reply without Y in example #2, in a "strictly" conforming implementation, could QUERY_DIRECTORY always return the same list of entries that is cached, regardless of what the object store has in it.  Why or why not?</div>

<div><br></div><div>Thanks,</div><div><br></div><div>-Ira</div>