|
libaaruformat 1.0
Aaru Data Preservation Suite - Format Library
|
Describes a single physical partition on a tape medium. More...
#include <aaruformat/structs/tape.h>
Data Fields | |
| uint8_t | Number |
| Partition number (unique identifier for this partition). | |
| uint64_t | FirstBlock |
| First block in the partition (inclusive). | |
| uint64_t | LastBlock |
| Last block in the partition (inclusive). | |
Describes a single physical partition on a tape medium.
Tape partitions are physical divisions of the tape storage area, each with its own block address space. Partitioning allows a single tape to be logically divided for organizational purposes, access control, or compatibility with different systems.
Partition Number: The partition number uniquely identifies the partition on the tape. Most tapes have a single partition (partition 0), but advanced formats like LTO, DLT, and AIT support multiple partitions. The numbering scheme is format-specific:
Block Range: Each partition has an independent block address space starting from its FirstBlock. The FirstBlock and LastBlock fields define the inclusive range of blocks in the partition:
Block Address Spaces: Block addresses are local to each partition. For example:
Block 0 in partition 0 is distinct from block 0 in partition 1. When referencing a block, both the partition number and block number are required for uniqueness.
Partition Size: Partition size in blocks = (LastBlock - FirstBlock + 1) Total tape capacity = sum of all partition sizes
Physical Organization: On physical tape, partitions are typically laid out sequentially:
Some formats allow non-sequential access to partitions via tape directory structures or partition tables stored in a leader area.
Use Cases:
Format Examples:
| uint64_t TapePartitionEntry::FirstBlock |
First block in the partition (inclusive).
Starting block address for this partition's address space. Often 0, but format-dependent.
Definition at line 323 of file tape.h.
Referenced by aaruf_get_tape_partition(), and aaruf_set_tape_partition().
| uint64_t TapePartitionEntry::LastBlock |
Last block in the partition (inclusive).
Ending block address for this partition's address space. Must be ≥ FirstBlock. The partition contains all blocks from FirstBlock through LastBlock inclusive.
Definition at line 325 of file tape.h.
Referenced by aaruf_get_tape_partition(), and aaruf_set_tape_partition().
| uint8_t TapePartitionEntry::Number |
Partition number (unique identifier for this partition).
Identifies this partition among all partitions on the tape. Valid range: 0-255, though most tapes use 0-3.
Definition at line 321 of file tape.h.
Referenced by aaruf_set_tape_partition(), and process_tape_partitions_block().