Hello Metze,  section "3.3.5.9.10 Handling the 
SMB2_CREATE_DURABLE_HANDLE_REQUEST_V2 Create Context" has following text

If the SMB2_DHANDLE_FLAG_PERSISTENT bit is set in the Flags field of the 
request, TreeConnect.Share.IsCA is TRUE, and Connection.ServerCapabilities 
includes SMB2_GLOBAL_CAP_PERSISTENT_HANDLES, the server MUST set 
Open.IsPersistent to TRUE

We clearly see that establishing durable handle as per sections 
3.2.4.28/3.2.4.29 (from Question 8)  cannot disregard 
SMB2_GLOBAL_CAP_PERSISTENT_HANDLES. So it is necessary to have both 
SMB2_GLOBAL_CAP_PERSISTENT_HANDLES and SMB2_SHARE_CAP_CONTINUOUS_AVAILABILITY 
(which sets .IsCA property of network share)

If you think I misunderstood your question, please clarify.

= = = = == = = = == = = = == = = = == = = = == = = = == = = = == = = = == = = = 
== = = = == = = = =

3.2.4.28 Application Notifies Online Status of a Server

   This optional interface is applicable only for the SMB 3.x dialect family. 
The
   application provides the following:

   -  ServerName: The name of the server which became available.

   For each Open in the GlobalFileTable, where Open.Session.ChannelList is empty
   and the server name identified from Open.FileName matches ServerName, the 
client
   MUST re-establish the durable open as specified in section 3.2.4.4.


3.2.4.29 Application Requests Moving to a Server Instance

   This optional interface is applicable only for SMB 3.x dialect family. The
   application provides the following:

   -  ServerName: The name of the server.

   -  NewServerAddress: The IPv4 or IPv6 address of the server which the client
      is required to move to.

   For each Connection in the ConnectionTable where Connection.ServerName 
matches
   ServerName, the client MUST disconnect the connection by performing the 
steps as
   specified in section 3.2.7.1.

   For each Open in the GlobalFileTable, where Open.Session.ChannelList is empty
   and the server name identified from Open.FileName matches ServerName, the 
client
   MUST re-establish the durable open as specified in section 3.2.4.4, and by 
using
   NewServerAddress as the TransportIdentifier for the rules specified in 
section
   3.2.4.2.



Question 8:
The impact of SMB2_SHARE_CAP_CONTINUOUS_AVAILABILITY without 
SMB2_GLOBAL_CAP_PERSISTENT_HANDLES is a very important part of this.



Regards,

Sreekanth Nadendla

Microsoft Windows Open Specifications


_______________________________________________
cifs-protocol mailing list
cifs-protocol@lists.samba.org
https://lists.samba.org/mailman/listinfo/cifs-protocol

Reply via email to