Changeset d6fe2a1 in mainline


Ignore:
Timestamp:
2025-03-06T20:42:44Z (3 months ago)
Author:
Miroslav Cimerman <mc@…>
Children:
f1be66bf
Parents:
10005fd
Message:

hr: hr_mark_vol_state_dirty() helper

Location:
uspace/srv/bd/hr
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/bd/hr/hr.c

    r10005fd rd6fe2a1  
    318318                /* TODO: maybe expose extent state callbacks */
    319319                hr_update_ext_status(vol, fail_extent, HR_EXT_FAILED);
    320                 atomic_store(&vol->state_changed, true);
     320                hr_mark_vol_state_dirty(vol);
    321321
    322322                fibril_rwlock_read_unlock(&vol->extents_lock);
  • uspace/srv/bd/hr/raid1.c

    r10005fd rd6fe2a1  
    105105
    106106        /* force volume state update */
    107         atomic_store(&new_volume->state_changed, true);
     107        hr_mark_vol_state_dirty(new_volume);
    108108        hr_raid1_update_vol_status(new_volume);
    109109
     
    167167        hr_update_hotspare_status(vol, hs_idx, HR_EXT_HOTSPARE);
    168168
    169         atomic_store(&vol->state_changed, true);
     169        hr_mark_vol_state_dirty(vol);
    170170error:
    171171        fibril_mutex_unlock(&vol->hotspare_lock);
     
    291291        }
    292292
    293         atomic_store(&vol->state_changed, true);
     293        hr_mark_vol_state_dirty(vol);
    294294
    295295        fibril_rwlock_write_unlock(&vol->states_lock);
     
    542542         */
    543543        hr_update_vol_status(vol, HR_VOL_ONLINE);
    544         atomic_store(&vol->state_changed, true);
     544        hr_mark_vol_state_dirty(vol);
    545545
    546546        fibril_rwlock_write_unlock(&vol->states_lock);
     
    562562                fibril_rwlock_write_lock(&vol->states_lock);
    563563                hr_update_vol_status(vol, HR_VOL_DEGRADED);
    564                 atomic_store(&vol->state_changed, true);
     564                hr_mark_vol_state_dirty(vol);
    565565                fibril_rwlock_write_unlock(&vol->states_lock);
    566566        }
  • uspace/srv/bd/hr/util.c

    r10005fd rd6fe2a1  
    4141#include <io/log.h>
    4242#include <loc.h>
     43#include <stdatomic.h>
    4344#include <stdlib.h>
    4445#include <stdio.h>
     
    410411}
    411412
     413void hr_mark_vol_state_dirty(hr_volume_t *vol)
     414{
     415        atomic_store(&vol->state_changed, true);
     416}
     417
    412418/** @}
    413419 */
  • uspace/srv/bd/hr/util.h

    r10005fd rd6fe2a1  
    6666extern hr_range_lock_t *hr_range_lock_acquire(hr_volume_t *, uint64_t,
    6767    uint64_t);
    68 extern void hr_range_lock_release(hr_range_lock_t *rl);
     68extern void hr_range_lock_release(hr_range_lock_t *);
     69extern void hr_mark_vol_state_dirty(hr_volume_t *);
    6970
    7071#endif
Note: See TracChangeset for help on using the changeset viewer.