Changeset fb06476f in mainline
- Timestamp:
- 2025-04-21T13:20:05Z (7 weeks ago)
- Children:
- c6d2af8
- Parents:
- 5cb1631
- Location:
- uspace
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/device/include/hr.h
r5cb1631 rfb06476f 55 55 } hr_level_t; 56 56 57 /* 58 * SNIA 59 * Common RAID Disk Data Format 60 * Specification 61 * Version 2.0 Revision 19 62 */ 63 #define HR_RLQ_RAID4_0 0x00 /* RAID-4 Non-Rotating Parity 0 */ 64 #define HR_RLQ_RAID4_N 0x01 /* RAID-4 Non-Rotating Parity N */ 65 #define HR_RLQ_RAID5_0R 0x00 /* RAID-5 Rotating Parity 0 with Data Restart */ 66 #define HR_RLQ_RAID5_NR 0x02 /* RAID-5 Rotating Parity N with Data Restart */ 67 #define HR_RLQ_RAID5_NC 0x03 /* RAID-5 Rotating Parity N with Data Continuation */ 57 typedef enum hr_layout { 58 HR_RLQ_NONE = 0, 59 HR_RLQ_RAID4_0, /* RAID-4 Non-Rotating Parity 0 */ 60 HR_RLQ_RAID4_N, /* RAID-4 Non-Rotating Parity N */ 61 HR_RLQ_RAID5_0R, /* RAID-5 Rotating Parity 0 with Data Restart */ 62 HR_RLQ_RAID5_NR, /* RAID-5 Rotating Parity N with Data Restart */ 63 HR_RLQ_RAID5_NC /* RAID-5 Rotating Parity N with Data Continuation */ 64 } hr_layout_t; 68 65 69 66 typedef enum hr_vol_status { … … 119 116 HR_METADATA_GEOM_MIRROR = 1, 120 117 HR_METADATA_GEOM_STRIPE = 2, 121 HR_METADATA_LAST_DUMMY = 3118 HR_METADATA_LAST_DUMMY 122 119 } hr_metadata_type_t; 123 120 … … 132 129 extern const char *hr_get_vol_status_msg(hr_vol_status_t); 133 130 extern const char *hr_get_ext_status_msg(hr_ext_status_t); 134 extern const char *hr_get_layout_str(hr_l evel_t, uint8_t);131 extern const char *hr_get_layout_str(hr_layout_t); 135 132 extern const char *hr_get_metadata_type_str(hr_metadata_type_t); 136 133 -
uspace/lib/device/src/hr.c
r5cb1631 rfb06476f 207 207 if (vol_info->level == HR_LVL_4 || vol_info->level == HR_LVL_5) { 208 208 printf("layout: %s\n", 209 hr_get_layout_str(vol_info->l evel, vol_info->layout));209 hr_get_layout_str(vol_info->layout)); 210 210 } 211 211 if (vol_info->level == HR_LVL_0 || vol_info->level == HR_LVL_4) { … … 428 428 } 429 429 430 const char *hr_get_layout_str(hr_level_t level, uint8_t layout) 431 { 432 switch (level) { 433 case HR_LVL_4: 434 switch (layout) { 435 case HR_RLQ_RAID4_0: 436 return "RAID-4 Non-Rotating Parity 0"; 437 case HR_RLQ_RAID4_N: 438 return "RAID-4 Non-Rotating Parity N"; 439 default: 440 return "Invalid RAID 4 layout"; 441 } 442 case HR_LVL_5: 443 switch (layout) { 444 case HR_RLQ_RAID5_0R: 445 return "RAID-5 Rotating Parity 0 with Data Restart"; 446 case HR_RLQ_RAID5_NR: 447 return "RAID-5 Rotating Parity N with Data Restart"; 448 case HR_RLQ_RAID5_NC: 449 return "RAID-5 Rotating Parity N with Data Continuation"; 450 default: 451 return "Invalid RAID 5 layout"; 452 } 430 const char *hr_get_layout_str(hr_layout_t layout) 431 { 432 switch (layout) { 433 case HR_RLQ_NONE: 434 return "RAID layout not set"; 435 case HR_RLQ_RAID4_0: 436 return "RAID-4 Non-Rotating Parity 0"; 437 case HR_RLQ_RAID4_N: 438 return "RAID-4 Non-Rotating Parity N"; 439 case HR_RLQ_RAID5_0R: 440 return "RAID-5 Rotating Parity 0 with Data Restart"; 441 case HR_RLQ_RAID5_NR: 442 return "RAID-5 Rotating Parity N with Data Restart"; 443 case HR_RLQ_RAID5_NC: 444 return "RAID-5 Rotating Parity N with Data Continuation"; 453 445 default: 454 return "Invalid RAID l evel";446 return "Invalid RAID layout"; 455 447 } 456 448 } -
uspace/srv/bd/hr/metadata/foreign/geom/mirror.c
r5cb1631 rfb06476f 142 142 vol->extent_no = main_meta->md_all; 143 143 144 /* vol->layout = main_meta->layout; */145 146 /* vol->strip_size = main_meta->strip_size; */144 vol->layout = HR_RLQ_NONE; 145 146 vol->strip_size = 0; 147 147 148 148 vol->bsize = main_meta->md_sectorsize; -
uspace/srv/bd/hr/metadata/foreign/geom/stripe.c
r5cb1631 rfb06476f 156 156 vol->strip_size = main_meta->md_stripesize; 157 157 158 vol->layout = HR_RLQ_NONE; 159 158 160 memcpy(vol->in_mem_md, main_meta, sizeof(struct g_stripe_metadata)); 159 161 -
uspace/srv/bd/hr/metadata/native.c
r5cb1631 rfb06476f 156 156 vol->data_offset = main_meta->data_offset; 157 157 vol->extent_no = main_meta->extent_no; 158 /* vol->level = main_meta->level; */ 158 /* vol->level = main_meta->level; */ /* already set */ 159 159 vol->layout = main_meta->layout; 160 160 vol->strip_size = main_meta->strip_size; 161 161 vol->bsize = main_meta->bsize; 162 /* already set */ 162 163 /* memcpy(vol->devname, main_meta->devname, HR_DEVNAME_LEN); */ 163 164 memcpy(vol->in_mem_md, main_meta, sizeof(hr_metadata_t)); -
uspace/srv/bd/hr/var.h
r5cb1631 rfb06476f 86 86 uint32_t strip_size; /* strip size */ 87 87 hr_level_t level; /* volume level */ 88 uint8_tlayout; /* RAID Level Qualifier */88 hr_layout_t layout; /* RAID Level Qualifier */ 89 89 char devname[HR_DEVNAME_LEN]; 90 90
Note:
See TracChangeset
for help on using the changeset viewer.