|
libaaruformat 1.0
Aaru Data Preservation Suite - Format Library
|
Header for the Erasure Coding Map Block (BlockType::ErasureCodingMapBlock). More...
#include <aaruformat/structs/erasure.h>
Data Fields | |
| uint32_t | identifier |
| Block identifier, must be BlockType::ErasureCodingMapBlock (0x424D4345). | |
| uint8_t | algorithm |
| Erasure coding algorithm (ErasureCodingAlgorithm). | |
| uint8_t | stripeGroupCount |
| Number of stripe groups in payload (typically 5). | |
| uint16_t | compression |
| Compression algorithm for the mapping payload (CompressionType). | |
| uint64_t | cmpLength |
| Size in bytes of the compressed mapping payload. | |
| uint64_t | length |
| Size in bytes of the uncompressed mapping payload. | |
| uint64_t | cmpCrc64 |
| CRC64-ECMA of the compressed mapping payload. | |
| uint64_t | crc64 |
| CRC64-ECMA of the uncompressed mapping payload. | |
Header for the Erasure Coding Map Block (BlockType::ErasureCodingMapBlock).
The ECMB stores the master recovery map: stripe parameters and block-offset mapping for all five protection groups (data, DDT-secondary, DDT-primary, metadata, index). It is written after the index block and found via the recovery footer, NOT via the index (since the index itself may need recovery).
Payload (cmpLength bytes) contains an array of StripeGroupDescriptor followed by per-stripe StripeDescriptor records, optionally compressed.
| uint8_t ErasureCodingMapHeader::algorithm |
Erasure coding algorithm (ErasureCodingAlgorithm).
Definition at line 52 of file erasure.h.
Referenced by ec_finalize(), and ec_load_ecmb().
| uint64_t ErasureCodingMapHeader::cmpCrc64 |
CRC64-ECMA of the compressed mapping payload.
Definition at line 57 of file erasure.h.
Referenced by ec_finalize().
| uint64_t ErasureCodingMapHeader::cmpLength |
Size in bytes of the compressed mapping payload.
Definition at line 55 of file erasure.h.
Referenced by ec_finalize(), and ec_load_ecmb().
| uint16_t ErasureCodingMapHeader::compression |
Compression algorithm for the mapping payload (CompressionType).
Definition at line 54 of file erasure.h.
Referenced by ec_finalize(), and ec_load_ecmb().
| uint64_t ErasureCodingMapHeader::crc64 |
CRC64-ECMA of the uncompressed mapping payload.
Definition at line 58 of file erasure.h.
Referenced by ec_finalize(), and ec_load_ecmb().
| uint32_t ErasureCodingMapHeader::identifier |
Block identifier, must be BlockType::ErasureCodingMapBlock (0x424D4345).
Definition at line 51 of file erasure.h.
Referenced by ec_finalize(), and ec_load_ecmb().
| uint64_t ErasureCodingMapHeader::length |
Size in bytes of the uncompressed mapping payload.
Definition at line 56 of file erasure.h.
Referenced by ec_finalize(), and ec_load_ecmb().
| uint8_t ErasureCodingMapHeader::stripeGroupCount |
Number of stripe groups in payload (typically 5).
Definition at line 53 of file erasure.h.
Referenced by ec_finalize(), and ec_load_ecmb().