Lines Matching +full:non +full:- +full:operational

1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
4 Copyright (C) 1996-98 Ingo Molnar, Gadi Oxman
33 * 0 - 31 Constant generic RAID device information.
34 * 32 - 63 Generic state information.
35 * 64 - 127 Personality specific information.
36 * 128 - 511 12 32-words descriptors of the disks in the raid set.
37 * 512 - 911 Reserved.
38 * 912 - 1023 Disk specific descriptor.
44 * y = (x & ~(MD_RESERVED_BYTES - 1)) - MD_RESERVED_BYTES
51 #define MD_NEW_SIZE_SECTORS(x) ((x & ~(MD_RESERVED_SECTORS - 1)) - MD_RESERVED_SECTORS)
58 * The following are counted in 32-bit words
72 #define MD_SB_RESERVED_WORDS (1024 - MD_SB_GENERIC_WORDS - MD_SB_PERSONALITY_WORDS - MD_SB_DISKS_W…
76 * Device "operational" state bits
78 #define MD_DISK_FAULTY 0 /* disk is faulty / operational */
89 * devices available - and don't try to
93 #define MD_DISK_WRITEMOSTLY 9 /* disk is "write-mostly" is RAID1 config.
97 #define MD_DISK_JOURNAL 18 /* disk is used as the write journal in RAID-5/6 */
109 __u32 state; /* 4 Operational state */
110 __u32 reserved[MD_SB_DESCRIPTOR_WORDS - 5];
126 * - if an array is being reshaped (restriped) in order to change
129 * be the "new - old". So if +ve, raid_disks is the new value, and
130 * "raid_disks-delta_disks" is the old. If -ve, raid_disks is the
155 __u32 gstate_creserved[MD_SB_GENERIC_CONSTANT_WORDS - 16];
168 __u32 events_hi; /* 7 high-order of superblock update count */
169 __u32 events_lo; /* 8 low-order of superblock update count */
170 __u32 cp_events_hi; /* 9 high-order of checkpoint update count */
171 __u32 cp_events_lo; /* 10 low-order of checkpoint update count */
173 __u32 events_lo; /* 7 low-order of superblock update count */
174 __u32 events_hi; /* 8 high-order of superblock update count */
175 __u32 cp_events_lo; /* 9 low-order of checkpoint update count */
176 __u32 cp_events_hi; /* 10 high-order of checkpoint update count */
182 __u64 reshape_position; /* 12,13 next address in array-space for reshape */
187 __u32 gstate_sreserved[MD_SB_GENERIC_STATE_WORDS - 18];
196 __u32 pstate_reserved[MD_SB_PERSONALITY_WORDS - 4];
216 __u64 ev = sb->events_hi; in md_event()
217 return (ev<<32)| sb->events_lo; in md_event()
220 #define MD_SUPERBLOCK_1_TIME_SEC_MASK ((1ULL<<40) - 1)
223 * The version-1 superblock :
224 * All numeric fields are little-endian.
230 /* constant array information - 128 bytes */
231 __le32 magic; /* MD_SB_MAGIC: 0xa92b4efc - little endian */
236 __u8 set_uuid[16]; /* user-space generated. */
237 char set_name[32]; /* set and interpreted by user-space */
240 __le32 level; /* -4 (multipath), -1 (linear), 0,1,4,5 */
261 __le64 reshape_position; /* next address in array-space for reshape */
266 * layout. 0 == no-change. This can be
270 /* constant this-device information - 64 bytes */
278 __le32 dev_number; /* permanent identifier of this device - not role in raid */
279 __le32 cnt_corrected_read; /* number of read errors that were corrected by re-writing */
280 __u8 device_uuid[16]; /* user-space setable, ignored by kernel */
281 __u8 devflags; /* per-device flags. Only two defined...*/
285 * If offset and size are non-zero, that space is reserved and available
290 * signed - not unsigned */
292 /* array state information - 64 bytes */
298 __u8 pad3[64-32]; /* set to 0 when writing */
302 * Note there are no per-device state flags. State information is rolled
400 __le64 position; /* sector, start from rdev->data_offset, current position */
419 (PPL_HEADER_SIZE - PPL_HDR_RESERVED - 4 * sizeof(__le32) - sizeof(__le64))