The sGUI_VOLUMESET
structure contains information about a volumeset.
typedef struct sGUI_VOLUMESET { BYTE
gvsVolumeName[16]; DWORD
gvsCapacity; DWORD
gvsCapacityX; DWORD
gvsFailMask; DWORD
gvsStripeSize; DWORD
gvsNewFailMask; DWORD
gvsNewStripeSize; DWORD
gvsVolumeStatus; DWORD
gvsProgress; sSCSI_ATTR
gvsScsi; BYTE
gvsMemberDisks; BYTE
gvsRaidLevel; BYTE
gvsNewMemberDisks; BYTE
gvsNewRaidLevel; BYTE
gvsRaidSetNumber; BYTE gvsVolState0; DWORD
gvsHostSpeed; DWORD
gvsVolState; BYTE
gvsVolArray[16]; BYTE
gvsNum5060Volumes; BYTE gvsAesKeyType; BYTE gvsAesKeyAssigned; BYTE gvsRes; DWORD gvsChanMask; BYTE gvsSerial[16]; BYTE gvsRes[12]; } sGUI_VOLUMESET, *pGUI_VOLUMESET; |
gvsVolumeName
16 bytes volumeset name, this does not end with a null character ‘\
gvsCapacity
Volume
capacity in blocks
A
block = 512 bytes
The
total capacity (in bytes) of volumeset are gvsCapacity * 512 bytes
gvsCapacityX
For 64 bit extension
gvsFailMask
Bit mask to indicate the failed drive (bit0 -- drive 0, bit1 --
drive 1 ....)
gvsStripeSize
Value ( in block ) |
Meaning |
8 |
4K bytes |
16 |
8K bytes |
32 |
16K bytes |
64 |
32K bytes |
128 |
64K bytes |
256 |
128K bytes |
gvsNewFailMask
For
internal use only
gvsNewStripeSize
The
value when modify this volumeset with new stripe size
In
normal case the gvsStripeSize is equal to gvsNewStripeSize
gvsVolumeStatus
Value |
Meaning |
0x00 |
|
0x01 |
Initializating |
0x02 |
Failed |
0x04 |
Migrating |
0x08 |
Rebuilding |
0x10 |
Need initialization |
0x20 |
Need migration |
0x40 |
Reserved |
0x80 |
Need rebuilding |
0x100 |
Checking |
0x200 |
Need checking |
0x4000 |
Need Cloning |
0x8000 |
Cloning |
The
values show above can be “OR” together
gvsProgress
Progress for the volume if volume is in
initializing/rebuilding/migrating status
The special value of 4096 means the
initializing/rebuilding/migrating completed
gvsScsi
Pointer to sSCSI_ATTR
that describes the SCSI attributes
gvsMemberDisks
Number of member disks
gvsRaidLevel
Value |
Meaning |
0 |
Striping |
1 |
Mirror |
2 |
Raid level 3 or 30 if the flag 0x100000
is set in the field gvsVolState |
3 |
Raid level 5 or 50 if the flag 0x100000
is set in the field gvsVolState |
4 |
Raid level 6 or 60 if the flag 0x100000
is set in the field gvsVolState |
5 |
Pass-through |
gvsNewMemberDisks
The value when modify this volumeset with new raid level and
this new raid level can causes the changing of member disks
In
normal case the gvsMemberDisks is equal to gvsNewMemberDisks
gvsNewRaidLevel
The
value when modify this volumeset with new raid level
In
normal case the gvsRaidLevel is equal to gvsNewRaidLevel
gvsRaidSetNumber
Raid set number that the volumeset belongs to
gvsVolState0
Reserved
gvsHostSpeed
Reserved
gvsVolState
Value |
Meaning |
0x000100 |
The volume is a member
of another volume which raidlevel 30/50/60 |
0x100000 |
The volume is a root volume
of raidlevel 30/50/60 |
gvsVolArray
Array for member volumes of root
gvsNum5060Volumes
Number
of member volumes in the gvsVolArray
gvsAesKeyType
Value |
Meaning |
0 |
VOLUME_ENCRYPT_PASSWORD256 |
1 |
VOLUME_ENCRYPT_AES256 |
2 |
VOLUME_ENCRYPT_PASSWORD128 |
3 |
VOLUME_ENCRYPT_AES128 |
gvsAesKeyAssigned
Value |
Meaning |
0 |
Key not assigned |
1 |
Key assigned |
gvsChanMask
Channel Mask for Dual Channel controllers, this value is valid only
for gvsScsi.scsiChannel == 0x80
gvsSerial
16 bytes serial number, this does not end with a null character ‘\
grsRes
Reserved
Requirements
Header |
arclib.h |
Include |
arclib.h |
See Also
ArcGetVolSetInfo, ArcHelpBuildVolumeSetMap