diff options
Diffstat (limited to 'include/linux/raid/md_p.h')
| -rw-r--r-- | include/linux/raid/md_p.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/include/linux/raid/md_p.h b/include/linux/raid/md_p.h index dc65cd435494..c100fa5d4bfa 100644 --- a/include/linux/raid/md_p.h +++ b/include/linux/raid/md_p.h | |||
| @@ -79,6 +79,11 @@ | |||
| 79 | #define MD_DISK_SYNC 2 /* disk is in sync with the raid set */ | 79 | #define MD_DISK_SYNC 2 /* disk is in sync with the raid set */ |
| 80 | #define MD_DISK_REMOVED 3 /* disk is in sync with the raid set */ | 80 | #define MD_DISK_REMOVED 3 /* disk is in sync with the raid set */ |
| 81 | 81 | ||
| 82 | #define MD_DISK_WRITEMOSTLY 9 /* disk is "write-mostly" is RAID1 config. | ||
| 83 | * read requests will only be sent here in | ||
| 84 | * dire need | ||
| 85 | */ | ||
| 86 | |||
| 82 | typedef struct mdp_device_descriptor_s { | 87 | typedef struct mdp_device_descriptor_s { |
| 83 | __u32 number; /* 0 Device number in the entire set */ | 88 | __u32 number; /* 0 Device number in the entire set */ |
| 84 | __u32 major; /* 1 Device major number */ | 89 | __u32 major; /* 1 Device major number */ |
| @@ -193,7 +198,7 @@ struct mdp_superblock_1 { | |||
| 193 | 198 | ||
| 194 | __u64 ctime; /* lo 40 bits are seconds, top 24 are microseconds or 0*/ | 199 | __u64 ctime; /* lo 40 bits are seconds, top 24 are microseconds or 0*/ |
| 195 | __u32 level; /* -4 (multipath), -1 (linear), 0,1,4,5 */ | 200 | __u32 level; /* -4 (multipath), -1 (linear), 0,1,4,5 */ |
| 196 | __u32 layout; /* only for raid5 currently */ | 201 | __u32 layout; /* only for raid5 and raid10 currently */ |
| 197 | __u64 size; /* used size of component devices, in 512byte sectors */ | 202 | __u64 size; /* used size of component devices, in 512byte sectors */ |
| 198 | 203 | ||
| 199 | __u32 chunksize; /* in 512byte sectors */ | 204 | __u32 chunksize; /* in 512byte sectors */ |
| @@ -212,7 +217,9 @@ struct mdp_superblock_1 { | |||
| 212 | __u32 dev_number; /* permanent identifier of this device - not role in raid */ | 217 | __u32 dev_number; /* permanent identifier of this device - not role in raid */ |
| 213 | __u32 cnt_corrected_read; /* number of read errors that were corrected by re-writing */ | 218 | __u32 cnt_corrected_read; /* number of read errors that were corrected by re-writing */ |
| 214 | __u8 device_uuid[16]; /* user-space setable, ignored by kernel */ | 219 | __u8 device_uuid[16]; /* user-space setable, ignored by kernel */ |
| 215 | __u8 pad2[64-56]; /* set to 0 when writing */ | 220 | __u8 devflags; /* per-device flags. Only one defined...*/ |
| 221 | #define WriteMostly1 1 /* mask for writemostly flag in above */ | ||
| 222 | __u8 pad2[64-57]; /* set to 0 when writing */ | ||
| 216 | 223 | ||
| 217 | /* array state information - 64 bytes */ | 224 | /* array state information - 64 bytes */ |
| 218 | __u64 utime; /* 40 bits second, 24 btes microseconds */ | 225 | __u64 utime; /* 40 bits second, 24 btes microseconds */ |
| @@ -231,5 +238,10 @@ struct mdp_superblock_1 { | |||
| 231 | __u16 dev_roles[0]; /* role in array, or 0xffff for a spare, or 0xfffe for faulty */ | 238 | __u16 dev_roles[0]; /* role in array, or 0xffff for a spare, or 0xfffe for faulty */ |
| 232 | }; | 239 | }; |
| 233 | 240 | ||
| 241 | /* feature_map bits */ | ||
| 242 | #define MD_FEATURE_BITMAP_OFFSET 1 | ||
| 243 | |||
| 244 | #define MD_FEATURE_ALL 1 | ||
| 245 | |||
| 234 | #endif | 246 | #endif |
| 235 | 247 | ||
