2.2.3.31 CLUS_POOL_DRIVE_INFO

The CLUS_POOL_DRIVE_INFO structure contains the information about a storage pool drive. See CLUSCTL_RESOURCE_POOL_GET_DRIVE_INFO (section 3.1.4.3.1.56) for more information.

CLUS_POOL_DRIVE_INFO is a custom-marshaled structure that has fields as follows.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

DriveName (512 bytes)

...

...

IncursSeekPenalty

Padding1

Padding2

Padding3

DriveHealth

DriveState

TotalCapacity

...

ConsumedCapacity

...

Usage

BusType

Slot

EnclosureName (2048 bytes)

...

...

DriveName (512 bytes): A buffer of 16-bit Unicode characters representing the name of the storage pool drive. This buffer MUST contain the name as a null-terminated Unicode string. If the name is less than the size of the buffer, the string MUST be padded with null characters. The client MUST ignore any padding.

IncursSeekPenalty (1 byte): A flag that indicates whether the storage pool drive incurs any latency when reading from an arbitrary sector.

Padding1 (1 byte): The client MUST ignore this field.

Padding2 (1 byte): The client MUST ignore this field.

Padding3 (1 byte): The client MUST ignore this field.

DriveHealth (4 bytes): The health of the storage pool drive. The server MUST set this field to one of the following values.

Value

Description

SpHealthUnknown

0x00000000

The health of the storage pool drive is not known.

SpHealthUnhealthy

0x00000001

The storage pool drive has encountered a severe error condition, such as a media failure.

SpHealthWarning

0x00000002

The storage pool drive has encountered an automatically recoverable error condition, such as an I/O error that can be retried.

SpHealthHealthy

0x00000003

The storage pool drive is healthy.

DriveState (4 bytes): The state of the storage pool drive. The server MUST set this field to one of the following values.

Value

Description

SpDriveStateUnknown

0x00000000

The state of the storage pool drive is not known.

SpDriveStateBecomingReady

0x00000001

The storage pool drive is becoming ready.

SpDriveStateCorruptMetadata

0x00000002

The storage pool drive has corrupt metadata.

SpDriveStateFailedMedia

0x00000003

The storage pool drive detected a failure when accessing the media.

SpDriveStateSplit

0x00000004

The storage pool drive metadata was changed while separated from a two-drive pool. The split metadata cannot automatically be corrected.

SpDriveStateStaleMetadata

0x00000005

The storage pool drive has stale metadata

SpDriveStateIOError

0x00000006

The storage pool drive has encountered an I/O error.

SpDriveStateMissing

0x00000007

The storage pool drive is missing.

SpDriveStateOkay

0x00000008

The storage pool drive is ready and in a nominal state.

TotalCapacity (8 bytes): A 64-bit value containing the total capacity, in bytes, of the storage pool drive.

ConsumedCapacity (8 bytes): A 64-bit value containing the amount of capacity, in bytes, that is currently in use on the storage pool drive.

Usage (4 bytes): The usage of the storage pool drive. The server MUST set this field to one of the following values.

Value

Description

SpDriveUsageUnknown

0x00000000

The usage of the storage pool drive is unknown.

SpDriveUsageAutoAllocation

0x00000001

The storage pool drive is used for automatic allocation.

SpDriveUsageManualAllocation

0x00000002

The storage pool drive is used for manual allocation.

SpDriveUsageSpare

0x00000003

The storage pool drive is used as a spare.

SpDriveUsageJournal

0x00000004

The storage pool drive is used exclusively for journaling.

SpDriveUsageRetired

0x00000005

The storage pool drive is retired and not used for capacity allocations.

BusType (4 bytes): The type of bus to which the storage pool drive is attached. The server MUST set this field to one of the following values.

Value

Description

BusTypeUnknown

0x00000000

The bus type is unknown.

BusTypeScsi

0x00000001

The bus type is small computer system interface (SCSI).

BusTypeAtapi

0x00000002

The bus type is AT attachment packet interface (ATAPI).

BusTypeAta

0x00000003

The bus type is advanced technology attachment (ATA).

BusType1394

0x00000004

The bus type is IEEE 1394, commonly known as FireWire.

BusTypeSsa

0x00000005

The bus type is serial storage architecture (SSA)

BusTypeFibre

0x00000006

The bus type is Fibre Channel.

BusTypeUsb

0x00000007

The bus type is universal serial bus (USB).

BusTypeRAID

0x000000008

The bus type is redundant array of independent disks (RAID).

BusTypeiScsi

0x00000009

The bus type is internet small computer system interface (iSCSI).

BusTypeSas

0x0000000A

The bus type is serial attached SCSI (SAS).

BusTypeSata

0x0000000B

The bus type is serial ATA (SATA).

BusTypeSd

0x0000000C

The bus type is secure digital (SD).

BusTypeMmc

0x0000000D

The bus type is multimedia card (MMC).

BusTypeVirtual

0x00000000E

The bus type is virtual.

BusTypeFileBackedVirtual

0x00000000F

The bus type is file-backed virtual.

BusTypeSpaces

0x00000010

The bus type is Spaces.

Slot (4 bytes): A 32-bit value containing the slot in which the storage pool drive is located.

EnclosureName (2048 bytes): A buffer of 16-bit Unicode characters representing the name of the enclosure in which the storage pool drive is located. This buffer MUST contain the name as a null-terminated Unicode string. If the name is less than the size of the buffer, the string MUST be padded with null characters. Any such padding MUST be ignored.