Changeset 0fce1a6 in mainline
- Timestamp:
- 2025-06-09T21:24:57Z (7 days ago)
- Children:
- 9ee9c60b
- Parents:
- eabc094c
- Location:
- uspace
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/hrctl/hrctl.c
reabc094c r0fce1a6 638 638 hr_get_metadata_type_str(info->meta_type)); 639 639 printf("| level: %s\n", hr_get_level_str(info->level)); 640 if (info->layout != HR_ RLQ_NONE)640 if (info->layout != HR_LAYOUT_NONE) 641 641 printf("| layout: %s\n", 642 642 hr_get_layout_str(info->layout)); -
uspace/lib/device/include/hr.h
reabc094c r0fce1a6 56 56 57 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 */58 HR_LAYOUT_NONE = 0, 59 HR_LAYOUT_RAID4_0, /* RAID-4 Non-Rotating Parity 0 */ 60 HR_LAYOUT_RAID4_N, /* RAID-4 Non-Rotating Parity N */ 61 HR_LAYOUT_RAID5_0R, /* RAID-5 Rotating Parity 0 with Data Restart */ 62 HR_LAYOUT_RAID5_NR, /* RAID-5 Rotating Parity N with Data Restart */ 63 HR_LAYOUT_RAID5_NC /* RAID-5 Rotating Parity N with Data Continuation */ 64 64 } hr_layout_t; 65 65 -
uspace/lib/device/src/hr.c
reabc094c r0fce1a6 496 496 { 497 497 switch (layout) { 498 case HR_ RLQ_NONE:498 case HR_LAYOUT_NONE: 499 499 return "RAID layout not set"; 500 case HR_ RLQ_RAID4_0:500 case HR_LAYOUT_RAID4_0: 501 501 return "RAID-4 Non-Rotating Parity 0"; 502 case HR_ RLQ_RAID4_N:502 case HR_LAYOUT_RAID4_N: 503 503 return "RAID-4 Non-Rotating Parity N"; 504 case HR_ RLQ_RAID5_0R:504 case HR_LAYOUT_RAID5_0R: 505 505 return "RAID-5 Rotating Parity 0 with Data Restart"; 506 case HR_ RLQ_RAID5_NR:506 case HR_LAYOUT_RAID5_NR: 507 507 return "RAID-5 Rotating Parity N with Data Restart"; 508 case HR_ RLQ_RAID5_NC:508 case HR_LAYOUT_RAID5_NC: 509 509 return "RAID-5 Rotating Parity N with Data Continuation"; 510 510 default: -
uspace/srv/bd/hr/metadata/foreign/geom/hr_g_mirror.c
reabc094c r0fce1a6 142 142 vol->extent_no = main_meta->md_all; 143 143 144 vol->layout = HR_ RLQ_NONE;144 vol->layout = HR_LAYOUT_NONE; 145 145 146 146 vol->strip_size = 0; -
uspace/srv/bd/hr/metadata/foreign/geom/hr_g_stripe.c
reabc094c r0fce1a6 153 153 vol->strip_size = main_meta->md_stripesize; 154 154 155 vol->layout = HR_ RLQ_NONE;155 vol->layout = HR_LAYOUT_NONE; 156 156 157 157 memcpy(vol->in_mem_md, main_meta, sizeof(struct g_stripe_metadata)); -
uspace/srv/bd/hr/metadata/foreign/softraid/hr_softraid.c
reabc094c r0fce1a6 146 146 147 147 if (main_meta->ssdi.ssd_level == 5) 148 vol->layout = HR_ RLQ_RAID5_NR;148 vol->layout = HR_LAYOUT_RAID5_NR; 149 149 else 150 vol->layout = HR_ RLQ_NONE;150 vol->layout = HR_LAYOUT_NONE; 151 151 152 152 vol->strip_size = main_meta->ssdi.ssd_strip_size; -
uspace/srv/bd/hr/raid5.c
reabc094c r0fce1a6 142 142 vol->strip_size = HR_STRIP_SIZE; 143 143 144 vol->layout = HR_ RLQ_RAID5_NR;144 vol->layout = HR_LAYOUT_RAID5_NR; 145 145 146 146 return EOK; … … 559 559 /* parity extent */ 560 560 uint64_t p_extent; 561 if (level == HR_LVL_4 && layout == HR_ RLQ_RAID4_0) {561 if (level == HR_LVL_4 && layout == HR_LAYOUT_RAID4_0) { 562 562 p_extent = 0; 563 } else if (level == HR_LVL_4 && layout == HR_ RLQ_RAID4_N) {563 } else if (level == HR_LVL_4 && layout == HR_LAYOUT_RAID4_N) { 564 564 p_extent = vol->extent_no - 1; 565 } else if (level == HR_LVL_5 && layout == HR_ RLQ_RAID5_0R) {565 } else if (level == HR_LVL_5 && layout == HR_LAYOUT_RAID5_0R) { 566 566 p_extent = (stripe / (vol->extent_no - 1)) % vol->extent_no; 567 567 } else if (level == HR_LVL_5 && 568 (layout == HR_ RLQ_RAID5_NR || layout == HR_RLQ_RAID5_NC)) {568 (layout == HR_LAYOUT_RAID5_NR || layout == HR_LAYOUT_RAID5_NC)) { 569 569 p_extent = (vol->extent_no - 1) - 570 570 (stripe / (vol->extent_no - 1)) % vol->extent_no; … … 574 574 575 575 uint64_t extent; 576 if (level == HR_LVL_4 && layout == HR_ RLQ_RAID4_0) {576 if (level == HR_LVL_4 && layout == HR_LAYOUT_RAID4_0) { 577 577 extent = (stripe % (vol->extent_no - 1)) + 1; 578 } else if (level == HR_LVL_4 && layout == HR_ RLQ_RAID4_N) {578 } else if (level == HR_LVL_4 && layout == HR_LAYOUT_RAID4_N) { 579 579 extent = stripe % (vol->extent_no - 1); 580 580 } else if (level == HR_LVL_5 && 581 (layout == HR_ RLQ_RAID5_0R || layout == HR_RLQ_RAID5_NR)) {581 (layout == HR_LAYOUT_RAID5_0R || layout == HR_LAYOUT_RAID5_NR)) { 582 582 if ((stripe % (vol->extent_no - 1)) < p_extent) 583 583 extent = stripe % (vol->extent_no - 1); 584 584 else 585 585 extent = (stripe % (vol->extent_no - 1)) + 1; 586 } else if (level == HR_LVL_5 && layout == HR_ RLQ_RAID5_NC) {586 } else if (level == HR_LVL_5 && layout == HR_LAYOUT_RAID5_NC) { 587 587 extent = 588 588 ((stripe % (vol->extent_no - 1)) + p_extent + 1) % … … 675 675 ext_stripe = stripe / (vol->extent_no - 1); /* stripe level */ 676 676 677 if (level == HR_LVL_5 && layout == HR_ RLQ_RAID5_0R) {677 if (level == HR_LVL_5 && layout == HR_LAYOUT_RAID5_0R) { 678 678 p_extent = 679 679 (stripe / (vol->extent_no - 1)) % vol->extent_no; 680 680 } else if (level == HR_LVL_5 && 681 (layout == HR_ RLQ_RAID5_NR || layout == HR_RLQ_RAID5_NC)) {681 (layout == HR_LAYOUT_RAID5_NR || layout == HR_LAYOUT_RAID5_NC)) { 682 682 p_extent = (vol->extent_no - 1) - 683 683 (stripe / (vol->extent_no - 1)) % vol->extent_no; 684 684 } 685 685 686 if (level == HR_LVL_4 && layout == HR_ RLQ_RAID4_0) {686 if (level == HR_LVL_4 && layout == HR_LAYOUT_RAID4_0) { 687 687 extent = (stripe % (vol->extent_no - 1)) + 1; 688 } else if (level == HR_LVL_4 && layout == HR_ RLQ_RAID4_N) {688 } else if (level == HR_LVL_4 && layout == HR_LAYOUT_RAID4_N) { 689 689 extent = stripe % (vol->extent_no - 1); 690 690 } else if (level == HR_LVL_5 && 691 (layout == HR_ RLQ_RAID5_0R || layout == HR_RLQ_RAID5_NR)) {691 (layout == HR_LAYOUT_RAID5_0R || layout == HR_LAYOUT_RAID5_NR)) { 692 692 if ((stripe % (vol->extent_no - 1)) < p_extent) 693 693 extent = stripe % (vol->extent_no - 1); 694 694 else 695 695 extent = (stripe % (vol->extent_no - 1)) + 1; 696 } else if (level == HR_LVL_5 && layout == HR_ RLQ_RAID5_NC) {696 } else if (level == HR_LVL_5 && layout == HR_LAYOUT_RAID5_NC) { 697 697 extent = 698 698 ((stripe % (vol->extent_no - 1)) + p_extent + 1) %
Note:
See TracChangeset
for help on using the changeset viewer.