3.2.5.5.1 Receiving a Virtual Disk File Information Request

When the server receives a request OperationCode equal to RSVD_TUNNEL_GET_INITIAL_INFO_OPERATION, the request handling proceeds as follows:

If MaxOutputResponse is less than 40 (size of SVHDX_TUNNEL_OPERATION_HEADER + size of SVHDX_TUNNEL_INITIAL_INFO_RESPONSE), the server MUST fail the request with STATUS_BUFFER_TOO_SMALL.

The server MUST issue a file information request to the virtual SCSI disk in an implementations-specific manner, and update the received response to the client.

If the virtual SCSI disk indicates an error, the server MUST return the SVHDX_TUNNEL_OPERATION_HEADER to the client initialized as below:

  • The OperationCode field MUST be set to the OperationCode value of the request.

  • The Status field MUST be set to the error returned by the Virtual SCSI disk.

  • The RequestId field MUST be set to the value received in the request.

Otherwise, the server MUST construct an SVHDX_TUNNEL_INITIAL_INFO_RESPONSE structure as specified in section 2.2.4.14 with the following values:

The SVHDX_TUNNEL_OPERATION_HEADER MUST be initialized as follows:

  • OperationCode MUST be set to the OperationCode value of the request.

  • Status MUST be set to STATUS_SUCCESS

  • The RequestId field MUST be set to the value received in the request.

The SVHDX_TUNNEL_INITIAL_INFO_RESPONSE structure MUST be initialized as follows:

  • ServerVersion MUST be set to the ServerServiceVersion.

  • SectorSize MUST set to the sector size of the shared virtual disk received from the virtual SCSI disk.

  • PhysicalSectorSize MUST set to the physical sector size of the shared virtual disk received from the virtual SCSI disk.

  • VirtualSize MUST set to the virtual size of the shared virtual disk received from the virtual SCSI disk.

The response MUST be sent to the client.