Module driver:raid - RAID driver
RAID driver. This provides a software RAID device on top of other block devices.
Requires: driver:block
Index
-
Channel type
CT.RAID- Used for communication with the RAID driver for controlling/configurating RAID devices-
Variable
in?- Requests to RAID driver -
Variable
out!- Responses from RAID driver
-
Variable
-
Protocol
P.RAID.IN- Requests to RAID driver-
Tag
activate- Activate a specific RAID device, responds with 'result' -
Tag
add.unit- Add the specified block device as a unit -
Tag
change.hash- Change existing RAID device hash (old, new), responds with 'result' -
Tag
change.name- Change existing RAID device name, responds with 'result' -
Tag
create.device- Create a new RAID device, items are 'level' and 'n.devices' -
Tag
list.device.units- List all of a particular device's units, responds with 'unit's followed by 'ok' -
Tag
list.devices- List all RAID devices, responds with 'device's followed by 'ok' -
Tag
lookup.device- Lookup a specified device by name (returns 'device' or 'result' on error) -
Tag
lookup.unit- Lookup a specified device unit by name (returns 'unit' or 'result' on error)
-
Tag
-
Protocol
P.RAID.OUT- Responses from RAID driver-
Tag
device- RAID device description -
Tag
ok- Generic ok -
Tag
result- Generic result -
Tag
unit- RAID device unit description
-
Tag
-
Record
RAID.DEVICE.DESC- Describes a single RAID device-
Variable
active- Whether this device is active (running) -
Variable
blocksize- Individual block-size -
Variable
desc- Description of the device -
Variable
desc.len- Length of 'desc' -
Variable
hash.devices- Hashcodes of individual devices -
Variable
hashcode- Some hashcode that uniquely identifies this RAID device -
Variable
level- RAID level (see ) -
Variable
n.devices- Number of devices (total) -
Variable
name- Name of this device -
Variable
name.len- Length of 'name' -
Variable
nblocks- Number of blocks available on this device
-
Variable
-
Group
RAID.LEVEL- RAID levels-
Constant
RAID.LEVEL.0- RAID level 0 (block-level striping) -
Constant
RAID.LEVEL.1- RAID level 1 (mirror) -
Constant
RAID.LEVEL.5- RAID level 5 (striping plus parity) -
Constant
RAID.LEVEL.NONE- No RAID, may be a logical volume of sorts
-
Constant
-
Constant
RAID.MAX.UNITS- Maximum number of units that may participate in a single RAID device -
Record
RAID.UNIT.DESC- Describes a single RAID unit (combined to make complete devices)-
Variable
active- True if the device is in-use -
Variable
device- Block device that this uses -
Variable
device.hash- Hashcode of the RAID device to which this belongs -
Variable
device.len- Length of the above -
Variable
hashcode- Some hashcode that uniquely identifies this RAID unit -
Variable
length- Number of blocks -
Variable
start- Starting block number
-
Variable
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: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.