Module driver:raid - RAID driver

RAID driver. This provides a software RAID device on top of other block devices.

Requires: driver:block

Index

Declarations

raid.inc:28Record RAID.UNIT.DESC

DATA TYPE RAID.UNIT.DESC

Describes a single RAID unit (combined to make complete devices).

raid.inc:30Variable device

[64]BYTE

Block device that this uses.

raid.inc:31Variable device.len

INT

Length of the above.

raid.inc:32Variable start

INT64

Starting block number.

raid.inc:33Variable length

INT64

Number of blocks.

raid.inc:34Variable hashcode

INT32

Some hashcode that uniquely identifies this RAID unit.

raid.inc:35Variable device.hash

INT32

Hashcode of the RAID device to which this belongs.

raid.inc:36Variable active

BOOL

True if the device is in-use.

raid.inc:39Group RAID.LEVEL

RAID levels.

raid.inc:40Constant RAID.LEVEL.NONE

VAL INT RAID.LEVEL.NONE

No RAID, may be a logical volume of sorts.

raid.inc:41Constant RAID.LEVEL.0

VAL INT RAID.LEVEL.0

RAID level 0 (block-level striping).

raid.inc:42Constant RAID.LEVEL.1

VAL INT RAID.LEVEL.1

RAID level 1 (mirror).

raid.inc:43Constant RAID.LEVEL.5

VAL INT RAID.LEVEL.5

RAID level 5 (striping plus parity).

raid.inc:47Constant RAID.MAX.UNITS

VAL INT RAID.MAX.UNITS

Maximum number of units that may participate in a single RAID device.

raid.inc:50Record RAID.DEVICE.DESC

DATA TYPE RAID.DEVICE.DESC

Describes a single RAID device.

raid.inc:52Variable name

[64]BYTE

Name of this device.

raid.inc:53Variable name.len

INT

Length of 'name'.

raid.inc:54Variable desc

[128]BYTE

Description of the device.

raid.inc:55Variable desc.len

INT

Length of 'desc'.

raid.inc:56Variable hashcode

INT32

Some hashcode that uniquely identifies this RAID device.

raid.inc:57Variable level

INT

RAID level (see RAID.LEVEL).

raid.inc:58Variable n.devices

INT

Number of devices (total).

raid.inc:59Variable hash.devices

[RAID.MAX.UNITS]INT32

Hashcodes of individual devices.

raid.inc:60Variable active

BOOL

Whether this device is active (running).

raid.inc:61Variable nblocks

INT64

Number of blocks available on this device.

raid.inc:62Variable blocksize

INT

Individual block-size.

raid.inc:66Protocol P.RAID.IN

PROTOCOL P.RAID.IN

Requests to RAID driver.

raid.inc:68Tag create.device

create.device; INT; INT

Create a new RAID device, items are 'level' and 'n.devices'.

raid.inc:70Tag change.hash

change.hash; INT32; INT32

Change existing RAID device hash (old, new), responds with 'result'.

raid.inc:71Tag change.name

change.name; INT32; MOBILE []BYTE

Change existing RAID device name, responds with 'result'.

raid.inc:72Tag list.devices

list.devices

List all RAID devices, responds with 'device's followed by 'ok'.

raid.inc:73Tag list.device.units

list.device.units; INT32

List all of a particular device's units, responds with 'unit's followed by 'ok'.

raid.inc:74Tag lookup.device

lookup.device; MOBILE []BYTE

Lookup a specified device by name (returns 'device' or 'result' on error).

raid.inc:75Tag lookup.unit

lookup.unit; MOBILE []BYTE

Lookup a specified device unit by name (returns 'unit' or 'result' on error).

raid.inc:76Tag add.unit

add.unit; INT32; INT; MOBILE []BYTE; INT64; INT64

Add the specified block device as a unit

raid.inc:79Tag activate

activate; INT32

Activate a specific RAID device, responds with 'result'.

raid.inc:83Protocol P.RAID.OUT

PROTOCOL P.RAID.OUT

Responses from RAID driver.

raid.inc:85Tag result

result; INT

Generic result.

raid.inc:86Tag ok

ok

Generic ok.

raid.inc:87Tag device

device; RAID.DEVICE.DESC

RAID device description.

raid.inc:88Tag unit

unit; RAID.UNIT.DESC

RAID device unit description.

raid.inc:92Channel type CT.RAID

CHAN TYPE CT.RAID

Used for communication with the RAID driver for controlling/configurating RAID devices.

raid.inc:94Variable in?

CHAN P.RAID.IN

Requests to RAID driver.

raid.inc:95Variable out!

CHAN P.RAID.OUT

Responses from RAID driver.