sGUI_VOLUMESET

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;

Members:

gvsVolumeName

        16 bytes volumeset name, this does not end with a null character ‘\0’

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

Normal

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 ‘\0’

grsRes

        Reserved

 

Requirements

       

Header

arclib.h

Include

arclib.h

 

See Also

        ArcGetVolSetInfo, ArcHelpBuildVolumeSetMap