[MS-SMB2] Error code STATUS_SMB_BAD_CLUSTER_DIALECT

Lilia 80 Reputation points
2024-08-11T06:52:08.1666667+00:00

How we can intentionally trigger the server to return the error STATUS_SMB_BAD_CLUSTER_DIALECT, we want to test the client's behavior upon receiving this specific error.
The documentation is very clear and states:

If the server implements the SMB 3.1.1 dialect, it MUST implement the following:
MaxClusterDialect: The maximum SMB dialect at which clients can access clustered shares on the server.|

If Share.Type is STYPE_CLUSTER_FS, STYPE_CLUSTER_SOFS, or STYPE_CLUSTER_DFS as specified in [MS-SRVS] section 2.2.2.4 and Connection.Dialect is greater than MaxClusterDialect and SMB2_TREE_CONNECT_FLAG_CLUSTER_RECONNECT is not set in Flags/Reserved field, the server MUST fail the request with STATUS_SMB_BAD_CLUSTER_DIALECT (0xC05D0001)....

  1. It is unclear how to configure the clustered server to return the error STATUS_SMB_BAD_CLUSTER_DIALECT.
  2. Should the client set SMB2_TREE_CONNECT_FLAG_CLUSTER_RECONNECT when attempting to reconnect using the required dialect?
Windows development Windows Open Specifications
{count} votes

Accepted answer
  1. KristianSmith-MSFT 446 Reputation points Microsoft Employee Moderator
    2024-08-12T18:34:57.0533333+00:00

    Hi Lilia,

    In order to test the STATUS_SMB_BAD_CLUSTER_DIALECT error, you would need to send a tree connect request to the cluster in a session with dialect greater than that of the cluster's max/highest available dialect. When doing a cluster reconnect, the server will assume the dialect is compatible since it has already connected, so in order to test this error, it shouldn't be a reconnect.

    Let me know if you have any further questions.

    Regrads,
    Kristian S
    Support Escalation Engineer
    Microsoft Open Specs

    2 people found this answer helpful.

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.