Changeset 65706f1 in mainline for uspace/srv/bd/hr/raid1.c
- Timestamp:
- 2024-11-27T14:06:41Z (8 months ago)
- Children:
- a0c3080
- Parents:
- 40bf2c6
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/bd/hr/raid1.c
r40bf2c6 r65706f1 87 87 assert(new_volume->level == HR_LVL_1); 88 88 89 if (new_volume-> dev_no < 2) {89 if (new_volume->extent_no < 2) { 90 90 HR_ERROR("RAID 1 array needs at least 2 devices\n"); 91 91 return EINVAL; … … 117 117 return rc; 118 118 119 vol->nblocks = total_blkno / vol-> dev_no;119 vol->nblocks = total_blkno / vol->extent_no; 120 120 vol->bsize = bsize; 121 121 vol->data_offset = HR_DATA_OFF; … … 239 239 } 240 240 return EINVAL; 241 } else if (healthy < vol-> dev_no) {241 } else if (healthy < vol->extent_no) { 242 242 if (old_state != HR_VOL_DEGRADED && 243 243 old_state != HR_VOL_REBUILD) { … … 305 305 switch (type) { 306 306 case HR_BD_SYNC: 307 for (i = 0; i < vol-> dev_no; i++) {307 for (i = 0; i < vol->extent_no; i++) { 308 308 if (vol->extents[i].status != HR_EXT_ONLINE) 309 309 continue; … … 316 316 break; 317 317 case HR_BD_READ: 318 for (i = 0; i < vol-> dev_no; i++) {318 for (i = 0; i < vol->extent_no; i++) { 319 319 if (vol->extents[i].status != HR_EXT_ONLINE) 320 320 continue; … … 330 330 break; 331 331 case HR_BD_WRITE: 332 for (i = 0; i < vol-> dev_no; i++) {332 for (i = 0; i < vol->extent_no; i++) { 333 333 if (vol->extents[i].status != HR_EXT_ONLINE || 334 334 (vol->extents[i].status == HR_EXT_REBUILD && … … 385 385 } 386 386 387 size_t bad = vol-> dev_no;388 for (size_t i = 0; i < vol-> dev_no; i++) {387 size_t bad = vol->extent_no; 388 for (size_t i = 0; i < vol->extent_no; i++) { 389 389 if (vol->extents[i].status == HR_EXT_FAILED) { 390 390 bad = i; … … 393 393 } 394 394 395 if (bad == vol-> dev_no) {395 if (bad == vol->extent_no) { 396 396 HR_WARN("hr_raid1_rebuild(): no bad extent on \"%s\", " 397 397 "aborting rebuild\n", vol->devname); … … 441 441 vol->rebuild_blk = ba; 442 442 cnt = min(max_blks, left); 443 for (size_t i = 0; i < vol-> dev_no; i++) {443 for (size_t i = 0; i < vol->extent_no; i++) { 444 444 ext = &vol->extents[i]; 445 445 if (ext->status == HR_EXT_ONLINE) { … … 448 448 if (rc != EOK) { 449 449 hr_raid1_handle_extent_error(vol, i, rc); 450 if (i + 1 < vol-> dev_no) {450 if (i + 1 < vol->extent_no) { 451 451 /* still might have one ONLINE */ 452 452 continue;
Note:
See TracChangeset
for help on using the changeset viewer.