Changeset 800d188 in mainline for uspace/srv/bd/hr/raid1.c
- Timestamp:
- 2025-04-15T07:00:31Z (4 weeks ago)
- Children:
- 29e7cc7
- Parents:
- ca7fa5b
- git-author:
- Miroslav Cimerman <mc@…> (2025-04-15 06:55:25)
- git-committer:
- Miroslav Cimerman <mc@…> (2025-04-15 07:00:31)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/bd/hr/raid1.c
rca7fa5b r800d188 105 105 new_volume->hr_bds.sarg = new_volume; 106 106 107 new_volume->state_callback = hr_raid1_ext_state_callback; 108 107 109 /* force volume state update */ 108 110 hr_mark_vol_state_dirty(new_volume); … … 222 224 if (!atomic_compare_exchange_strong(&vol->state_dirty, &exp, false)) 223 225 return; 226 227 fibril_mutex_lock(&vol->md_lock); 228 229 /* XXX: will be wrapped in md specific fcn ptrs */ 230 vol->in_mem_md->counter++; 231 232 fibril_mutex_unlock(&vol->md_lock); 224 233 225 234 fibril_rwlock_read_lock(&vol->extents_lock); … … 247 256 248 257 if (old_state != HR_VOL_REBUILD) { 258 /* XXX: allow REBUILD on INVALID extents */ 249 259 if (vol->hotspare_no > 0) { 250 260 fid_t fib = fibril_create(hr_raid1_rebuild, … … 427 437 io->type = type; 428 438 io->vol = vol; 429 io->state_callback = hr_raid1_ext_state_callback;430 439 431 440 hr_fgroup_submit(group, hr_io_worker, io); … … 541 550 fibril_rwlock_write_unlock(&vol->states_lock); 542 551 543 rc = hr_metadata_save(vol );552 rc = hr_metadata_save(vol, WITH_STATE_CALLBACK); 544 553 545 554 end: … … 576 585 fibril_mutex_lock(&vol->hotspare_lock); 577 586 587 /* XXX: allow REBUILD on INVALID extents */ 578 588 if (vol->hotspare_no == 0) { 579 589 HR_WARN("hr_raid1_rebuild(): no free hotspares on \"%s\", "
Note:
See TracChangeset
for help on using the changeset viewer.