# From: http://linux-raid.osdl.org/index.php/RAID_superblock_formats

RAID superblock formats

From Linux-raid

Jump to: navigation, search

Contents

  • 1 RAID superblock formats
      □ 1.1 The version-0.90 Superblock Format
      □ 1.2 The version-1 Superblock Format
      □ 1.3 Sub-versions of the version-1 superblock
      □ 1.4 The version-1 superblock format on-disk layout
          ☆ 1.4.1 Total Size of superblock
          ☆ 1.4.2 Section: Superblock/"Magic-Number" Identification area
          ☆ 1.4.3 Section: Per-Array Identification & Configuration area
          ☆ 1.4.4 Section: RAID-Reshape In-Process Metadata Storage/Recovery
            area
          ☆ 1.4.5 Section: This-Component-Device Information area
          ☆ 1.4.6 Section: Array-State Information area
          ☆ 1.4.7 Section: Device-Roles (Positions-in-Array) area

[edit]

RAID superblock formats

Currently, the Linux RAID subsystem recognizes two distinct variant
superblocks.

They are known as "version-0.90" and "version-1" Superblock formats.

[edit]

The version-0.90 Superblock Format

The version-0.90 superblock format has several limitations. It limits the
number of component devices within an array to 28, and limits each component
device to a maximum size of 2TB.

[edit]

The version-1 Superblock Format

The version-1 superblock format represents a more-expandable format, capable of
supporting arrays with 384+ devices, with 64-bit sector lengths.

[edit]

Sub-versions of the version-1 superblock

The "version-1" superblock format is currently used in three different
"sub-versions".

The sub-versions differ primarily (solely?) in the location on each component
device at which they actually store the superblock.

┌───────────┬───────────────────────────────────┐
│Sub-Version│   Superblock Position on Device   │
├───────────┼───────────────────────────────────┤
│1.0        │At the end of the device           │
├───────────┼───────────────────────────────────┤
│1.1        │At the beginning of the device     │
├───────────┼───────────────────────────────────┤
│1.2        │4K from the beginning of the device│
└───────────┴───────────────────────────────────┘
[edit]

The version-1 superblock format on-disk layout

[edit]

Total Size of superblock

Total Size of superblock: 256 Bytes, plus 2 bytes per device in the array

[edit]

Section: Superblock/"Magic-Number" Identification area

16 Bytes, Offset 0-15 (0x00 - 0x0F)

┌──────┬──────┬──────┬─────────────┬───────────┬─────┬──────────────────────────┬───────┐
│Offset│Offset│Length│             │  Usage/   │Data │                          │       │
│(Hex) │(Dec) │ (in  │ Field Name  │  Meaning  │Type │        Data Value        │ Notes │
│      │      │bytes)│             │           │     │                          │       │
├──────┼──────┼──────┼─────────────┼───────────┼─────┼──────────────────────────┼───────┤
│      │      │      │             │"Magic     │     │                          │       │
│0x00 -│0 - 3 │4     │magic        │Number"    │__u32│0xa92b4efc                │       │
│0x03  │      │      │             │(Superblock│     │(little-endian)           │       │
│      │      │      │             │ID)        │     │                          │       │
├──────┼──────┼──────┼─────────────┼───────────┼─────┼──────────────────────────┼───────┤
│      │      │      │             │Major      │     │                          │       │
│0x04 -│4 - 7 │4     │major_version│Version    │__u32│1                         │       │
│0x07  │      │      │             │of the     │     │                          │       │
│      │      │      │             │Superblock │     │                          │       │
├──────┼──────┼──────┼─────────────┼───────────┼─────┼──────────────────────────┼───────┤
│      │      │      │             │           │     │0                         │       │
│      │      │      │             │           │     │Bit-Mapped Field          │       │
│      │      │      │             │           │     │                          │       │
│      │      │      │             │           │     │┌─────┬──────────────────┐│       │
│      │      │      │             │           │     ││ Bit │     Meaning      ││       │
│      │      │      │             │           │     ││Value│                  ││       │
│      │      │      │             │           │     │├─────┼──────────────────┤│       │
│      │      │      │             │           │     ││1    │RAID Bitmap is    ││       │
│      │      │      │             │           │     ││     │used              ││       │
│      │      │      │             │           │     │├─────┼──────────────────┤│       │
│      │      │      │             │Feature Map│     ││     │RAID Recovery is  ││       │
│      │      │      │             │- which    │     ││2    │in progress       ││       │
│      │      │      │             │extended   │     ││     │(See              ││       │
│      │      │      │             │features   │     ││     │"recovery_offset")││       │
│      │      │      │             │(such as   │     │├─────┼──────────────────┤│       │
│0x08 -│      │      │             │volume     │     ││4    │RAID Reshape is in││       │
│0x0B  │8 - 11│4     │feature_map  │bitmaps,   │__u32││     │progress          ││       │
│      │      │      │             │recovery,  │     │├─────┼──────────────────┤│       │
│      │      │      │             │or reshape)│     ││8    │undefined/reserved││       │
│      │      │      │             │are in use │     ││     │(0)               ││       │
│      │      │      │             │on this    │     │├─────┼──────────────────┤│       │
│      │      │      │             │array      │     ││16   │undefined/reserved││       │
│      │      │      │             │           │     ││     │(0)               ││       │
│      │      │      │             │           │     │├─────┼──────────────────┤│       │
│      │      │      │             │           │     ││32   │undefined/reserved││       │
│      │      │      │             │           │     ││     │(0)               ││       │
│      │      │      │             │           │     │├─────┼──────────────────┤│       │
│      │      │      │             │           │     ││64   │undefined/reserved││       │
│      │      │      │             │           │     ││     │(0)               ││       │
│      │      │      │             │           │     │├─────┼──────────────────┤│       │
│      │      │      │             │           │     ││128  │undefined/reserved││       │
│      │      │      │             │           │     ││     │(0)               ││       │
│      │      │      │             │           │     │└─────┴──────────────────┘│       │
├──────┼──────┼──────┼─────────────┼───────────┼─────┼──────────────────────────┼───────┤
│      │      │      │             │           │     │                          │Always │
│0x0C -│12 -  │      │             │Padding    │     │                          │set to │
│0x0F  │15    │4     │pad0         │Block 0    │__u32│0                         │zero   │
│      │      │      │             │           │     │                          │when   │
│      │      │      │             │           │     │                          │writing│
└──────┴──────┴──────┴─────────────┴───────────┴─────┴──────────────────────────┴───────┘


[edit]

Section: Per-Array Identification & Configuration area

48 Bytes, Offset 16-63 (0x10 - 0x3F)

┌──────┬──────┬──────┬─────────────┬──────────┬─────┬────────────────┬───────────┐
│Offset│Offset│Length│             │  Usage/  │Data │                │           │
│(Hex) │(Dec) │ (in  │ Field Name  │ Meaning  │Type │   Data Value   │   Notes   │
│      │      │bytes)│             │          │     │                │           │
├──────┼──────┼──────┼─────────────┼──────────┼─────┼────────────────┼───────────┤
│0x10 -│16 -  │      │             │UUID for  │__u8 │Set by          │           │
│0x1F  │31    │16    │set_uuid     │the Array │[16] │user-space      │           │
│      │      │      │             │(?)       │     │formatting util │           │
├──────┼──────┼──────┼─────────────┼──────────┼─────┼────────────────┼───────────┤
│0x20 -│32 -  │      │             │Name for  │char │Set and used by │           │
│0x3F  │63    │32    │set_name     │the Array │[32] │user-space utils│Nt         │
│      │      │      │             │(?)       │     │                │           │
├──────┼──────┼──────┼─────────────┼──────────┼─────┼────────────────┼───────────┤
│      │      │      │             │          │     │low 40-bits are │           │
│0x40 -│64 -  │8     │ctime        │Creation  │__u64│seconds         │           │
│0x47  │71    │      │             │Time(?)   │     │high 24-bits are│           │
│      │      │      │             │          │     │uSeconds        │           │
├──────┼──────┼──────┼─────────────┼──────────┼─────┼────────────────┼───────────┤
│      │      │      │             │          │     │┌──┬───────────┐│           │
│      │      │      │             │          │     ││-4│Multi-Path ││           │
│      │      │      │             │          │     │├──┼───────────┤│           │
│      │      │      │             │          │     ││-1│Linear     ││           │
│      │      │      │             │          │     │├──┼───────────┤│           │
│      │      │      │             │          │     ││0 │RAID-0     ││           │
│      │      │      │             │          │     ││  │(Striped)  ││           │
│      │      │      │             │          │     │├──┼───────────┤│           │
│      │      │      │             │          │     ││1 │RAID-1     ││           │
│      │      │      │             │          │     ││  │(Mirrored) ││mdadm      │
│      │      │      │             │          │     │├──┼───────────┤│versions   │
│      │      │      │             │          │     ││  │RAID-4     ││(as of     │
│      │      │      │             │          │     ││  │(Striped   ││v2.6.4)    │
│0x48 -│72 -  │      │             │RAID Level│     ││4 │with       ││limit      │
│0x4B  │75    │4     │level        │of the    │__u32││  │Dedicated  ││RAID-6     │
│      │      │      │             │Array     │     ││  │Block-Level││(creation) │
│      │      │      │             │          │     ││  │Parity)    ││to 256     │
│      │      │      │             │          │     │├──┼───────────┤│disks or   │
│      │      │      │             │          │     ││  │RAID-5     ││less       │
│      │      │      │             │          │     ││  │(Striped   ││           │
│      │      │      │             │          │     ││5 │with       ││           │
│      │      │      │             │          │     ││  │Distributed││           │
│      │      │      │             │          │     ││  │Parity)    ││           │
│      │      │      │             │          │     │├──┼───────────┤│           │
│      │      │      │             │          │     ││  │RAID-6     ││           │
│      │      │      │             │          │     ││6 │(Striped   ││           │
│      │      │      │             │          │     ││  │with Dual  ││           │
│      │      │      │             │          │     ││  │Parity)    ││           │
│      │      │      │             │          │     │└──┴───────────┘│           │
├──────┼──────┼──────┼─────────────┼──────────┼─────┼────────────────┼───────────┤
│      │      │      │             │          │     │┌─┬────────────┐│           │
│      │      │      │             │          │     ││0│left        ││           │
│      │      │      │             │          │     ││ │asymmetric  ││           │
│      │      │      │             │          │     │├─┼────────────┤│Controls   │
│      │      │      │             │          │     ││1│right       ││the        │
│      │      │      │             │layout of │     ││ │asymmetric  ││relative   │
│0x4C -│76 -  │4     │layout       │array     │__u32│├─┼────────────┤│arrangement│
│0x4F  │79    │      │             │(RAID5(and│     ││ │left        ││of data and│
│      │      │      │             │6?) only) │     ││2│symmetric   ││parity     │
│      │      │      │             │          │     ││ │(default)   ││blocks on  │
│      │      │      │             │          │     │├─┼────────────┤│the disks. │
│      │      │      │             │          │     ││3│right       ││           │
│      │      │      │             │          │     ││ │symmetric   ││           │
│      │      │      │             │          │     │└─┴────────────┘│           │
├──────┼──────┼──────┼─────────────┼──────────┼─────┼────────────────┼───────────┤
│      │      │      │             │          │     │size of         │           │
│      │      │      │             │used-size │     │component       │           │
│0x50 -│80 -  │8     │size         │of        │__u64│devices         │           │
│0x57  │87    │      │             │component │     │(in # of        │           │
│      │      │      │             │devices   │     │512-byte        │           │
│      │      │      │             │          │     │sectors)        │           │
├──────┼──────┼──────┼─────────────┼──────────┼─────┼────────────────┼───────────┤
│      │      │      │             │          │     │                │default is │
│      │      │      │             │          │     │                │64K? for   │
│      │      │      │             │          │     │                │raid levels│
│      │      │      │             │          │     │                │0, 10, 4,  │
│      │      │      │             │          │     │                │5, and 6   │
│      │      │      │             │          │     │                │chunksize  │
│      │      │      │             │          │     │                │not used in│
│      │      │      │             │          │     │                │raid levels│
│      │      │      │             │          │     │chunk-size of   │1, linear, │
│      │      │      │             │chunk-size│     │the array       │and        │
│0x58 -│88 -  │4     │chunksize    │of the    │__u32│(in # of        │multi-path │
│0x5B  │91    │      │             │array     │     │512-byte        │           │
│      │      │      │             │          │     │sectors)        │Note:      │
│      │      │      │             │          │     │                │During     │
│      │      │      │             │          │     │                │creation   │
│      │      │      │             │          │     │                │this       │
│      │      │      │             │          │     │                │appears to │
│      │      │      │             │          │     │                │be created │
│      │      │      │             │          │     │                │as a       │
│      │      │      │             │          │     │                │multiple of│
│      │      │      │             │          │     │                │1024 rather│
│      │      │      │             │          │     │                │than 512.  │
├──────┼──────┼──────┼─────────────┼──────────┼─────┼────────────────┼───────────┤
│      │      │      │             │          │     │                │raid4      │
│      │      │      │             │          │     │                │requires a │
│      │      │      │             │          │     │                │minimum of │
│      │      │      │             │          │     │                │2 member   │
│      │      │      │             │          │     │                │devs       │
│      │      │      │             │          │     │                │raid5      │
│      │      │      │             │          │     │                │requires a │
│      │      │      │             │          │     │                │minimum of │
│      │      │      │             │(?)number │     │                │2 member   │
│0x5C -│92 -  │4     │raid_disks   │of disks  │__u32│#               │devs       │
│0x5F  │95    │      │             │in array  │     │                │raid6      │
│      │      │      │             │(?)       │     │                │requires a │
│      │      │      │             │          │     │                │minimum of │
│      │      │      │             │          │     │                │4 member   │
│      │      │      │             │          │     │                │devs       │
│      │      │      │             │          │     │                │raid6      │
│      │      │      │             │          │     │                │limited to │
│      │      │      │             │          │     │                │a max of   │
│      │      │      │             │          │     │                │256 member │
│      │      │      │             │          │     │                │devs       │
├──────┼──────┼──────┼─────────────┼──────────┼─────┼────────────────┼───────────┤
│      │      │      │             │          │     │                │This is    │
│      │      │      │             │# of      │     │                │only valid │
│      │      │      │             │sectors   │     │                │if         │
│      │      │      │             │after     │     │                │feature_map│
│      │      │      │             │superblock│     │                │[1] is set │
│      │      │      │             │that      │     │                │           │
│0x60 -│96 -  │4     │bitmap_offset│bitmap    │__u32│(signed)        │Signed     │
│0x63  │99    │      │             │starts    │     │                │value      │
│      │      │      │             │(See note │     │                │allows     │
│      │      │      │             │about     │     │                │bitmap     │
│      │      │      │             │signed    │     │                │to appear  │
│      │      │      │             │value)    │     │                │before     │
│      │      │      │             │          │     │                │superblock │
│      │      │      │             │          │     │                │on the disk│
└──────┴──────┴──────┴─────────────┴──────────┴─────┴────────────────┴───────────┘


[edit]

Section: RAID-Reshape In-Process Metadata Storage/Recovery area

64 Bytes, Offset 100-163 (0x64 - 0x7F)
(Note: Only contains valid data if feature_map bit '4' is set)

┌──────┬──────┬──────┬────────────────┬───────────┬─────┬─────────────┬───────┐
│Offset│Offset│Length│                │  Usage/   │Data │             │       │
│(Hex) │(Dec) │ (in  │   Field Name   │  Meaning  │Type │ Data Value  │ Notes │
│      │      │bytes)│                │           │     │             │       │
├──────┼──────┼──────┼────────────────┼───────────┼─────┼─────────────┼───────┤
│      │      │      │                │the new    │     │             │       │
│0x64 -│100 - │4     │new_level       │RAID level │__u32│see level    │       │
│0x67  │103   │      │                │being      │     │field (above)│       │
│      │      │      │                │reshaped-to│     │             │       │
├──────┼──────┼──────┼────────────────┼───────────┼─────┼─────────────┼───────┤
│      │      │      │                │Next       │     │current      │       │
│0x68 -│104 - │8     │reshape_position│address of │__u64│position of  │       │
│0x6F  │111   │      │                │the array  │     │the reshape  │       │
│      │      │      │                │to reshape │     │operation    │       │
├──────┼──────┼──────┼────────────────┼───────────┼─────┼─────────────┼───────┤
├──────┼──────┼──────┼────────────────┼───────────┼─────┼─────────────┼───────┤
│      │      │      │                │this holds │     │             │       │
│0x70 -│112 - │4     │delta_disks     │the change │__u32│change in #  │       │
│0x73  │115   │      │                │in # of    │     │of raid disks│       │
│      │      │      │                │raid disks │     │             │       │
├──────┼──────┼──────┼────────────────┼───────────┼─────┼─────────────┼───────┤
│0x74 -│116 - │4     │new_layout      │new layout │__u32│see layout   │       │
│0x77  │119   │      │                │for array  │     │field (above)│       │
├──────┼──────┼──────┼────────────────┼───────────┼─────┼─────────────┼───────┤
│0x78 -│120 - │4     │new_chunk       │new chunk  │__u32│see chunksize│       │
│0x7B  │123   │      │                │size       │     │field (above)│       │
├──────┼──────┼──────┼────────────────┼───────────┼─────┼─────────────┼───────┤
│      │      │      │                │           │     │             │Always │
│0x7C -│124 - │      │                │Padding    │__u8 │             │set to │
│0x7F  │127   │4     │pad1            │Block #1   │[4]  │0            │zero   │
│      │      │      │                │           │     │             │when   │
│      │      │      │                │           │     │             │writing│
└──────┴──────┴──────┴────────────────┴───────────┴─────┴─────────────┴───────┘



[edit]

Section: This-Component-Device Information area

64 Bytes, Offset 128-191 (0x80 - 0xbf)

┌──────┬──────┬──────┬──────────────────┬────────────┬─────┬────────────────────┬────────────┐
│Offset│Offset│Length│                  │   Usage/   │Data │                    │            │
│(Hex) │(Dec) │ (in  │    Field Name    │  Meaning   │Type │     Data Value     │   Notes    │
│      │      │bytes)│                  │            │     │                    │            │
├──────┼──────┼──────┼──────────────────┼────────────┼─────┼────────────────────┼────────────┤
│0x80 -│128 - │      │                  │the sector #│     │sector # where data │            │
│0x87  │135   │8     │data_offset       │upon which  │__u64│begins              │            │
│      │      │      │                  │data starts │     │(Often 0)           │            │
├──────┼──────┼──────┼──────────────────┼────────────┼─────┼────────────────────┼────────────┤
│      │      │      │                  │sectors in  │     │                    │            │
│0x88 -│136 - │      │                  │the device  │     │# of sectors that   │            │
│0x8F  │143   │8     │data_size         │that are    │__u64│can be used for data│            │
│      │      │      │                  │used for    │     │                    │            │
│      │      │      │                  │data        │     │                    │            │
├──────┼──────┼──────┼──────────────────┼────────────┼─────┼────────────────────┼────────────┤
│      │      │      │                  │# of the    │     │                    │            │
│0x90 -│144 - │      │                  │sector upon │     │# of the sector upon│            │
│0x97  │151   │8     │super_offset      │which this  │__u64│which this          │            │
│      │      │      │                  │superblock  │     │superblock starts   │            │
│      │      │      │                  │starts      │     │                    │            │
├──────┼──────┼──────┼──────────────────┼────────────┼─────┼────────────────────┼────────────┤
│      │      │      │                  │sectors     │     │                    │            │
│      │      │      │                  │before this │     │                    │            │
│0x98 -│152 - │      │                  │offset      │     │                    │            │
│0x9F  │159   │8     │recovery_offset   │(from       │__u64│sector #            │            │
│      │      │      │                  │data_offset)│     │                    │            │
│      │      │      │                  │have been   │     │                    │            │
│      │      │      │                  │recovered   │     │                    │            │
├──────┼──────┼──────┼──────────────────┼────────────┼─────┼────────────────────┼────────────┤
│0xA0 -│160 - │      │                  │            │     │Permanent identifier│            │
│0xA3  │163   │4     │dev_number        │Fm          │__u32│of this device (Not │            │
│      │      │      │                  │            │     │its role in RAID(?))│            │
├──────┼──────┼──────┼──────────────────┼────────────┼─────┼────────────────────┼────────────┤
│      │      │      │                  │Number of   │     │                    │            │
│0xA4 -│164 - │      │                  │read-errors │     │                    │            │
│0xA7  │167   │4     │cnt_corrected_read│that were   │__u32│Dv                  │            │
│      │      │      │                  │corrected by│     │                    │            │
│      │      │      │                  │re-writing  │     │                    │            │
├──────┼──────┼──────┼──────────────────┼────────────┼─────┼────────────────────┼────────────┤
│      │      │      │                  │UUID of the │     │                    │Set by      │
│0xA8 -│168 - │16    │device_uuid       │component   │__u8 │                    │User-Space  │
│0xB7  │183   │      │                  │device      │[16] │                    │Ignored by  │
│      │      │      │                  │            │     │                    │kernel      │
├──────┼──────┼──────┼──────────────────┼────────────┼─────┼────────────────────┼────────────┤
│      │      │      │                  │            │     │Bit-Mapped Field    │            │
│      │      │      │                  │            │     │                    │            │
│      │      │      │                  │            │     │┌─────┬────────────┐│            │
│      │      │      │                  │            │     ││ Bit │  Meaning   ││            │
│      │      │      │                  │            │     ││Value│            ││WriteMostly1│
│      │      │      │                  │            │     │├─────┼────────────┤│indicates   │
│      │      │      │                  │            │     ││1    │WriteMostly1││that this   │
│      │      │      │                  │            │     │├─────┼────────────┤│device      │
│      │      │      │                  │            │     ││2    │(?)         ││should only │
│      │      │      │                  │Per-Device  │     │├─────┼────────────┤│be updated  │
│0xB8  │184   │1     │devflags          │Flags       │__u8 ││4    │(?)         ││on writes,  │
│      │      │      │                  │(Bit-Mapped │     │├─────┼────────────┤│not read    │
│      │      │      │                  │Field)      │     ││8    │(?)         ││from.       │
│      │      │      │                  │            │     │├─────┼────────────┤│(Useful with│
│      │      │      │                  │            │     ││16   │(?)         ││slow devices│
│      │      │      │                  │            │     │├─────┼────────────┤│in RAID1    │
│      │      │      │                  │            │     ││32   │(?)         ││arrays?)    │
│      │      │      │                  │            │     │├─────┼────────────┤│            │
│      │      │      │                  │            │     ││64   │(?)         ││            │
│      │      │      │                  │            │     │├─────┼────────────┤│            │
│      │      │      │                  │            │     ││128  │(?)         ││            │
│      │      │      │                  │            │     │└─────┴────────────┘│            │
├──────┼──────┼──────┼──────────────────┼────────────┼─────┼────────────────────┼────────────┤
│      │      │      │                  │            │     │                    │Always set  │
│0xB9 -│185 - │7     │pad2              │Padding     │__u8 │0                   │to          │
│0xBF  │191   │      │                  │block 2     │[7]  │                    │zero when   │
│      │      │      │                  │            │     │                    │writing     │
└──────┴──────┴──────┴──────────────────┴────────────┴─────┴────────────────────┴────────────┘


[edit]

Section: Array-State Information area

64 Bytes, Offset 192-255 (0xC0 - 0xFF)

┌──────┬──────┬──────┬─────────────┬─────────────┬─────┬────────┬─────────────┐
│Offset│Offset│Length│             │             │Data │  Data  │             │
│(Hex) │(Dec) │ (in  │ Field Name  │Usage/Meaning│Type │ Value  │    Notes    │
│      │      │bytes)│             │             │     │        │             │
├──────┼──────┼──────┼─────────────┼─────────────┼─────┼────────┼─────────────┤
│      │      │      │             │             │     │low     │             │
│      │      │      │             │             │     │40-bits │             │
│      │      │      │             │             │     │are     │             │
│0xC0 -│192 - │8     │utime        │Fm           │__u64│seconds │Nt           │
│0xC7  │199   │      │             │             │     │high    │             │
│      │      │      │             │             │     │24-bits │             │
│      │      │      │             │             │     │are     │             │
│      │      │      │             │             │     │uSeconds│             │
├──────┼──────┼──────┼─────────────┼─────────────┼─────┼────────┼─────────────┤
│      │      │      │             │             │     │        │Updated      │
│      │      │      │             │             │     │        │whenever the │
│      │      │      │             │             │     │        │superblock is│
│      │      │      │             │             │     │        │updated.     │
│      │      │      │             │             │     │        │Used by mdadm│
│0xC8 -│200 - │8     │events       │Event Count  │__u64│#       │in           │
│0xCF  │207   │      │             │for the Array│     │        │re-assembly  │
│      │      │      │             │             │     │        │to detect    │
│      │      │      │             │             │     │        │failed/      │
│      │      │      │             │             │     │        │out-of-sync  │
│      │      │      │             │             │     │        │component    │
│      │      │      │             │             │     │        │devices.     │
├──────┼──────┼──────┼─────────────┼─────────────┼─────┼────────┼─────────────┤
│      │      │      │             │Offsets      │     │        │             │
│      │      │      │             │before this  │     │        │             │
│      │      │      │             │one (starting│     │        │             │
│0xD0 -│208 - │8     │resync_offset│from         │__u64│offset #│             │
│0xD7  │215   │      │             │data_offset) │     │        │             │
│      │      │      │             │are 'known'  │     │        │             │
│      │      │      │             │to be in     │     │        │             │
│      │      │      │             │sync.        │     │        │             │
├──────┼──────┼──────┼─────────────┼─────────────┼─────┼────────┼─────────────┤
│      │      │      │             │             │     │        │This value   │
│      │      │      │             │Checksum of  │     │        │will be      │
│0xD8 -│216 - │      │             │this         │     │        │different for│
│0xDB  │219   │4     │sb_csum      │superblock up│__u32│#       │each         │
│      │      │      │             │to devs      │     │        │component    │
│      │      │      │             │[max_dev]    │     │        │device's     │
│      │      │      │             │             │     │        │superblock.  │
├──────┼──────┼──────┼─────────────┼─────────────┼─────┼────────┼─────────────┤
│      │      │      │             │How many     │     │        │             │
│0xDC -│220 - │      │             │devices are  │     │        │             │
│0xDF  │223   │4     │max_dev      │part of (or  │__u32│#       │             │
│      │      │      │             │related to)  │     │        │             │
│      │      │      │             │the array    │     │        │             │
├──────┼──────┼──────┼─────────────┼─────────────┼─────┼────────┼─────────────┤
│0xE0 -│224 - │      │             │Padding Block│__u8 │        │Always set to│
│0xFF  │255   │32    │pad3         │3            │[32] │0       │zero when    │
│      │      │      │             │             │     │        │writing      │
└──────┴──────┴──────┴─────────────┴─────────────┴─────┴────────┴─────────────┘


[edit]

Section: Device-Roles (Positions-in-Array) area

Length: Variable number of bytes (but at least 768 bytes?)
2 Bytes per device in the array, including both spare-devices and
faulty-devices

┌──────────────────────────────────────────────────────────────────────────────┐
│               Section: Device-Roles (Positions-in-Array) area                │
├──────────────────────────────────────────────────────────────────────────────┤
│(Variable length - 2 Bytes per Device in Array (including Spares/Faulty-Devs) │
├──────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
├────────┬───────┬──────┬─────────┬────────┬─────┬───────────────────────┬─────┤
│ Offset │Offset │Length│  Field  │ Usage/ │Data │                       │     │
│ (Hex)  │ (Dec) │ (in  │  Name   │Meaning │Type │      Data Value       │Notes│
│        │       │bytes)│         │        │     │                       │     │
├────────┴───────┴──────┴─────────┴────────┴─────┴───────────────────────┴─────┤
│                   ?? Bytes, Offset 256-??? (0x100 - 0x???)                   │
├────────┬───────┬──────┬─────────┬────────┬─────┬───────────────────────┬─────┤
│        │       │      │         │        │     │Role or Position of    │     │
│0x100 - │256    │?     │dev_roles│Fm      │__u16│device in the array.   │     │
│0x???   │- ???  │      │         │        │     │0xFFFF means "spare".  │     │
│        │       │      │         │        │     │0xFFFE means "faulty". │     │
└────────┴───────┴──────┴─────────┴────────┴─────┴───────────────────────┴─────┘
Retrieved from "http://linux-raid.osdl.org/index.php/RAID_superblock_formats"

Views

  • Article
  • Discussion
  • Edit
  • History

Personal tools

  • Log in / create account

 

Navigation

  • Linux Raid
  • Community portal
  • Current events
  • Recent changes
  • Random page
  • Help
  • Donations

Search

[                    ] [Go]  [Search]
Toolbox

  • What links here
  • Related changes
  • Special pages
  • Printable version
  • Permanent link

MediaWiki
GNU Free Documentation License 1.2

  • This page was last modified 04:50, 3 June 2008.
  • This page has been accessed 5,723 times.
  • Content is available under GNU Free Documentation License 1.2.
  • Privacy policy
  • About Linux-raid
  • Disclaimers

