Changeset 80c760e in mainline for uspace/srv/bd/hr/util.c
- Timestamp:
- 2025-04-21T12:34:02Z (3 months ago)
- Children:
- 75262d2f
- Parents:
- 18c3658
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/bd/hr/util.c
r18c3658 r80c760e 234 234 235 235 errno_t rc; 236 uint64_t blkno ;236 uint64_t blkno, smallest_blkno = ~0ULL; 237 237 size_t i, bsize; 238 238 size_t last_bsize = 0; … … 269 269 270 270 vol->extents[i].svc_id = svc_id; 271 vol->extents[i].blkno = blkno;272 271 vol->extents[i].status = HR_EXT_ONLINE; 273 272 273 if (blkno < smallest_blkno) 274 smallest_blkno = blkno; 274 275 last_bsize = bsize; 275 276 } … … 277 278 vol->bsize = last_bsize; 278 279 vol->extent_no = cfg->dev_no; 280 vol->truncated_blkno = smallest_blkno; 279 281 280 282 for (i = 0; i < HR_MAX_HOTSPARES; i++) … … 728 730 729 731 iter->inited = true; 732 iter->fini = true; 730 733 } 731 734 … … 738 741 739 742 list_foreach(*list, link, struct dev_list_member, iter) { 740 if (iter->inited ) {743 if (iter->inited && iter->fini) { 741 744 block_fini(iter->svc_id); 742 745 iter->inited = false; 746 iter->fini = false; 743 747 } 744 748 } … … 983 987 asm_cnt++; 984 988 break; 985 case EEXIST: 986 /* 987 * A race is detected this way, because we don't want 988 * to hold the hr_volumes list lock for a long time, 989 * for all assembly attempts. XXX: discuss... 990 */ 989 case ENOMEM: 990 goto error; 991 default: 991 992 rc = EOK; 992 break; 993 default: 994 block_fini_dev_list(&matching_svcs_list); 995 free_svc_id_list(&matching_svcs_list); 996 goto error; 997 } 998 993 } 994 block_fini_dev_list(&matching_svcs_list); 999 995 free_svc_id_list(&matching_svcs_list); 1000 996 }
Note:
See TracChangeset
for help on using the changeset viewer.