3.2.5.5.15 Receiving a Safe Size Request

When the server receives a request with an OperationCode equal to RSVD_TUNNEL_QUERY_SAFE_SIZE, the request handling proceeds as follows:

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

The server MUST query the smallest size from the virtual SCSI disk in an implementation-specific manner.

The server MUST construct an SVHDX_TUNNEL_SMALLEST_SAFE_VIRTUAL_SIZE_RESPONSE structure, as specified in section 2.2.4.40, with the following values:

  • The SafeVirtualSize field MUST be set to the value returned by virtual SCSI disk.

The SVHDX_TUNNEL_OPERATION_HEADER MUST be initialized as follows:

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

  • If the virtual SCSI disk indicates error, the Status field MUST be set to the error code returned by the virtual SCSI disk. Otherwise, set to STATUS_SUCCESS.

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

The response MUST be sent to the client.