[MS-SMB2] Error code STATUS_SMB_BAD_CLUSTER_DIALECT

Lilia 60 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 Open Specifications
Windows Open Specifications
Windows: A family of Microsoft operating systems that run across personal computers, tablets, laptops, phones, internet of things devices, self-contained mixed reality headsets, large collaboration screens, and other devices.Open Specifications: Technical documents for protocols, computer languages, standards support, and data portability. The goal with Open Specifications is to help developers open new opportunities to interoperate with Windows, SQL, Office, and SharePoint.
42 questions
{count} votes

Accepted answer
  1. KristianSmith-MSFT 121 Reputation points Microsoft Employee
    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.