Commit b3715ee4 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

Staging: hv: fix typedefs in vstorage.h

It's all clean now.

Cc: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent f3c7c96c
...@@ -61,9 +61,9 @@ BlkVscInitialize( ...@@ -61,9 +61,9 @@ BlkVscInitialize(
storDriver->RequestExtSize = sizeof(STORVSC_REQUEST_EXTENSION); storDriver->RequestExtSize = sizeof(STORVSC_REQUEST_EXTENSION);
/* Divide the ring buffer data size (which is 1 page less than the ring buffer size since that page is reserved for the ring buffer indices) */ /* Divide the ring buffer data size (which is 1 page less than the ring buffer size since that page is reserved for the ring buffer indices) */
/* by the max request size (which is VMBUS_CHANNEL_PACKET_MULITPAGE_BUFFER + VSTOR_PACKET + u64) */ /* by the max request size (which is VMBUS_CHANNEL_PACKET_MULITPAGE_BUFFER + struct vstor_packet + u64) */
storDriver->MaxOutstandingRequestsPerChannel = storDriver->MaxOutstandingRequestsPerChannel =
((storDriver->RingBufferSize - PAGE_SIZE) / ALIGN_UP(MAX_MULTIPAGE_BUFFER_PACKET + sizeof(VSTOR_PACKET) + sizeof(u64),sizeof(u64))); ((storDriver->RingBufferSize - PAGE_SIZE) / ALIGN_UP(MAX_MULTIPAGE_BUFFER_PACKET + sizeof(struct vstor_packet) + sizeof(u64),sizeof(u64)));
DPRINT_INFO(BLKVSC, "max io outstd %u", storDriver->MaxOutstandingRequestsPerChannel); DPRINT_INFO(BLKVSC, "max io outstd %u", storDriver->MaxOutstandingRequestsPerChannel);
......
This diff is collapsed.
...@@ -21,8 +21,6 @@ ...@@ -21,8 +21,6 @@
* *
*/ */
/* vstorage.w revision number. This is used in the case of a version match, */ /* vstorage.w revision number. This is used in the case of a version match, */
/* to alert the user that structure sizes may be mismatched even though the */ /* to alert the user that structure sizes may be mismatched even though the */
/* protocol versions match. */ /* protocol versions match. */
...@@ -61,12 +59,12 @@ ...@@ -61,12 +59,12 @@
/* The max transfer length will be published when we offer a vmbus channel. */ /* The max transfer length will be published when we offer a vmbus channel. */
#define MAX_TRANSFER_LENGTH 0x40000 #define MAX_TRANSFER_LENGTH 0x40000
#define DEFAULT_PACKET_SIZE (sizeof(VMDATA_GPA_DIRECT) + \ #define DEFAULT_PACKET_SIZE (sizeof(VMDATA_GPA_DIRECT) + \
sizeof(VSTOR_PACKET) + \ sizeof(struct vstor_packet) + \
(sizeof(u64) * (MAX_TRANSFER_LENGTH / PAGE_SIZE))) sizesizeof(u64) * (MAX_TRANSFER_LENGTH / PAGE_SIZE)))
/* Packet structure describing virtual storage requests. */ /* Packet structure describing virtual storage requests. */
typedef enum { enum vstor_packet_operation {
VStorOperationCompleteIo = 1, VStorOperationCompleteIo = 1,
VStorOperationRemoveDevice = 2, VStorOperationRemoveDevice = 2,
VStorOperationExecuteSRB = 3, VStorOperationExecuteSRB = 3,
...@@ -78,16 +76,13 @@ typedef enum { ...@@ -78,16 +76,13 @@ typedef enum {
VStorOperationQueryProtocolVersion = 9, VStorOperationQueryProtocolVersion = 9,
VStorOperationQueryProperties = 10, VStorOperationQueryProperties = 10,
VStorOperationMaximum = 10 VStorOperationMaximum = 10
} VSTOR_PACKET_OPERATION; };
/* /*
* Platform neutral description of a scsi request - * Platform neutral description of a scsi request -
* this remains the same across the write regardless of 32/64 bit * this remains the same across the write regardless of 32/64 bit
* note: it's patterned off the SCSI_PASS_THROUGH structure * note: it's patterned off the SCSI_PASS_THROUGH structure
*/ */
#define CDB16GENERIC_LENGTH 0x10 #define CDB16GENERIC_LENGTH 0x10
#ifndef SENSE_BUFFER_SIZE #ifndef SENSE_BUFFER_SIZE
...@@ -96,8 +91,7 @@ typedef enum { ...@@ -96,8 +91,7 @@ typedef enum {
#define MAX_DATA_BUFFER_LENGTH_WITH_PADDING 0x14 #define MAX_DATA_BUFFER_LENGTH_WITH_PADDING 0x14
struct vmscsi_request {
typedef struct {
unsigned short Length; unsigned short Length;
unsigned char SrbStatus; unsigned char SrbStatus;
unsigned char ScsiStatus; unsigned char ScsiStatus;
...@@ -121,14 +115,14 @@ typedef struct { ...@@ -121,14 +115,14 @@ typedef struct {
unsigned char ReservedArray[MAX_DATA_BUFFER_LENGTH_WITH_PADDING]; unsigned char ReservedArray[MAX_DATA_BUFFER_LENGTH_WITH_PADDING];
}; };
} __attribute((packed)) VMSCSI_REQUEST, *PVMSCSI_REQUEST; } __attribute((packed));
/* /*
* This structure is sent during the intialization phase to get the different * This structure is sent during the intialization phase to get the different
* properties of the channel. * properties of the channel.
*/ */
typedef struct { struct vmstorage_channel_properties {
unsigned short ProtocolVersion; unsigned short ProtocolVersion;
unsigned char PathId; unsigned char PathId;
unsigned char TargetId; unsigned char TargetId;
...@@ -141,10 +135,10 @@ typedef struct { ...@@ -141,10 +135,10 @@ typedef struct {
/* This id is unique for each channel and will correspond with */ /* This id is unique for each channel and will correspond with */
/* vendor specific data in the inquirydata */ /* vendor specific data in the inquirydata */
unsigned long long UniqueId; unsigned long long UniqueId;
} __attribute__((packed)) VMSTORAGE_CHANNEL_PROPERTIES, *PVMSTORAGE_CHANNEL_PROPERTIES; } __attribute__((packed));
/* This structure is sent during the storage protocol negotiations. */ /* This structure is sent during the storage protocol negotiations. */
typedef struct { struct vmstorage_protocol_version {
/* Major (MSW) and minor (LSW) version numbers. */ /* Major (MSW) and minor (LSW) version numbers. */
unsigned short MajorMinor; unsigned short MajorMinor;
...@@ -155,16 +149,15 @@ typedef struct { ...@@ -155,16 +149,15 @@ typedef struct {
* builds. * builds.
*/ */
unsigned short Revision; unsigned short Revision;
} __attribute__((packed)) VMSTORAGE_PROTOCOL_VERSION, *PVMSTORAGE_PROTOCOL_VERSION; } __attribute__((packed));
/* Channel Property Flags */ /* Channel Property Flags */
#define STORAGE_CHANNEL_REMOVABLE_FLAG 0x1 #define STORAGE_CHANNEL_REMOVABLE_FLAG 0x1
#define STORAGE_CHANNEL_EMULATED_IDE_FLAG 0x2 #define STORAGE_CHANNEL_EMULATED_IDE_FLAG 0x2
typedef struct _VSTOR_PACKET { struct vstor_packet {
/* Requested operation type */ /* Requested operation type */
VSTOR_PACKET_OPERATION Operation; enum vstor_packet_operation Operation;
/* Flags - see below for values */ /* Flags - see below for values */
unsigned int Flags; unsigned int Flags;
...@@ -178,22 +171,17 @@ typedef struct _VSTOR_PACKET { ...@@ -178,22 +171,17 @@ typedef struct _VSTOR_PACKET {
* Structure used to forward SCSI commands from the * Structure used to forward SCSI commands from the
* client to the server. * client to the server.
*/ */
VMSCSI_REQUEST VmSrb; struct vmscsi_request VmSrb;
/* Structure used to query channel properties. */ /* Structure used to query channel properties. */
VMSTORAGE_CHANNEL_PROPERTIES StorageChannelProperties; struct vmstorage_channel_properties StorageChannelProperties;
/* Used during version negotiations. */ /* Used during version negotiations. */
VMSTORAGE_PROTOCOL_VERSION Version; struct vmstorage_protocol_version Version;
}; };
} __attribute__((packed));
} __attribute__((packed)) VSTOR_PACKET, *PVSTOR_PACKET;
/* Packet flags */ /* Packet flags */
/* /*
* This flag indicates that the server should send back a completion for this * This flag indicates that the server should send back a completion for this
* packet. * packet.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment